2008-09-09 2 views
2

Если у вас есть сайт, который отправляет клиенту письмо, и вы хотите сохранить копию письма, что такое эффективная стратегия?Сохранение сообщений электронной почты

Если вы сохраните его в таблице в своей базе данных (например, создайте таблицу под названием Mail), она будет очень большой очень быстро.

Некоторые стратегии, которые я видел, являются:

  1. сохранить его в файловой системе
  2. Выполнить запланированное задание, чтобы очистить старые записи из базы данных - но тогда вы приземлитесь не имея копию;
  3. Создать таблицу sepearate для каждого периода времени (один каждый год, или один каждый месяц)

Какие стратегии вы использовали?

ответ

4

Данные, которые вы хотите сохранить, сохраняются в базе данных. Единственное исключение, которое оправдано, это большие двоичные данные (изображения, видео). Кого волнует, насколько большой стол? Если почта автоматизирована и основана на шаблонах, вам просто нужно сохранить переменные части в любом случае. Размер будет примерно таким же, где бы вы его не сохранили, но у вас, вероятно, уже есть механизм для резервного копирования вашей базы данных, поэтому вам не придется изобретать один, чтобы обрабатывать миллионы файлов.

3

Множество допущений: 1. Вы используете окна/хотели бы архивы в окнах 2. Возможность поиска по почте важна.

Поскольку вы отправляете письма своим клиентам, нет никакой причины, по которой вы не можете использовать счет электронной почты самостоятельно. Предполагая, что у вас есть подходящая учетная запись на вашем собственном сервере, я бы посмотрел на использование MailStore (home), чтобы вытащить почту из вашей учетной записи и поместить ее в свою собственную сжатую базу данных.

1

Это зависит от содержания вашей электронной почты. Если он содержит большие изображения. Я бы стал пухлым для файловой системы. В противном случае, если ваша таблица таблицы Mail становится очень большой очень быстро, я бы пошел за отдельной таблицей, архивируя мертвых клиентов.

6

Я не согласен с тем, что gmail является эффективным резервным копированием бизнес-данных.

Зачем доверять вашей деловой информации поставщику, который не дает никаких гарантий обслуживания, или над тем, у кого у вас нет никакого контроля?

Не имеет смысла для меня.

В зависимости от того, как часто вам необходимо получить доступ к этой информации, я бы сказал, что вы хотите использовать файловую систему или архив базы данных. По крайней мере, вы контролируете свои данные.

2

Другой вариант (в зависимости от содержимого электронной почты) заключается в том, чтобы не сохранять электронную почту, но удостоверьтесь, что вы можете восстановить электронное письмо, архивируя исходное содержимое, которое было создано для создания электронной почты.

0

Мы сохраняем электронное письмо в таблице базы данных. Это действительно не так быстро. У нас есть таблица с 32 000 писем в ней (они тоже большие письма по электронной почте - 50 кбайт на электронную почту), а при сжатии файл использует только 16 МБ.

Если вы отправляете накладную загрузку электронной почты, тогда знайте, что GMail (бесплатно) в настоящее время разрешает только 7 ГБ данных. Я был бы счастлив держать это на диске.

0

Я бы подумал о создании какой-то общей функции архивации. Как вы это реализуете, это зависит от ваших потребностей в поиске.

Например, если вы хотите просто получить электронные письма, отправленные конкретному клиенту в течение определенного месяца, тогда их хранение в соответствующем heirachy в Файловой системе (при необходимости застегните их) должно быть простым в использовании. Вы можете записать список отправленных писем в таблице базы данных с указателем в соответствующий каталог, но в именах для ваших каталогов и файлов может быть достаточно

Вы, возможно, не нужно, чтобы получить доступ очень старые письма очень редко поэтому вы можете архивировать их на DVD, например, если проблема с онлайн-хранилищем является проблемой.

Если вы хотите часто искать фактическое содержимое электронных писем, тогда вам придется помещать контент в таблицу DB или использовать индекс, например Люцерн рассмотрит файлы, хранящиеся на диске