Не отправляйте письма с повторяющимися темами - PullRequest
0 голосов
/ 16 января 2011

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

Тем не менее, мы также предпочли бы не переходить на уровень SMTP самостоятельно, а использовать существующую службу / приложение.

Кто-нибудь знает о веб-почте (например, googlemail), которая выполняет такую ​​фильтрацию?для нас было бы хорошо платить за такую ​​услугу, так что быть «бесплатным, как в пиве» было бы неплохо, но не быть свободным - это не шоу-стоппер.

1 Ответ

0 голосов
/ 16 января 2011

Меня очень беспокоит идея фильтровать дублирующиеся сообщения электронной почты по заголовку Subject:. Если они создаются несколькими приложениями, как вы можете быть уверены, что содержимое сообщений дублируется, и что вы не случайно отправляете важные уведомления?

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

Тем не менее, вы можете делать практически все, что угодно, на большинстве SMTP-серверов - по крайней мере, на тех, которые основаны на Unix-подобных ОС. Например, Postfix может использовать собственные сценарии оболочки для фильтрации .

Вы можете, например, использовать formail , чтобы извлечь тело каждого сообщения и создать его MD5 хеш Сравнение хэшей тела сообщения вместе с заголовками Date:, Subject:, From:, To: и Cc: одновременно является хорошим началом для обнаружения реальных дубликатов.

...