Назад | Перейти на главную страницу

Идентификатор очереди захвата и 250 ОК через milter

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

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

Моя мысль сделать это:

  1. Вставьте X-Header: guid-go-here в электронное письмо, чтобы однозначно идентифицировать его.
  2. Создайте milter в Postfix, который будет запускать электронное письмо через скрипт для анализа этого заголовка и (надеюсь) в то же время захвата идентификатора очереди.
  3. Разберите mail.log на предмет этого идентификатора очереди и получите информацию о ней (250 OK).

Для # 2, когда я создаю milter, вводит ли postfix идентификатор очереди, когда он передает почту скрипту? Я нахожусь на ранних стадиях этого процесса и еще не заставил его работать. Кроме того, я решил использовать фильтр содержимого SMTP в пост-очереди (http://www.postfix.org/FILTER_README.html). Это правильный выбор?

Просто используйте адрес в качестве отправителя конверта, который фактически отслеживается.

Делай это так:

  • удостовериться отказывает @ $ yourdomain доставляется в программу (т.е. может быть через псевдонимы или .forward)
  • измените свое приложение для отправки почты с использованием этой схемы отправителя конверта: bounces + recipient = recipientdomain @ $ yourdomain

Как видите, первоначальный получатель (получатель @ получатель домен) кодируется в адрес отправителя, который вы используете. Если письмо возвращается, оно возвращается обратно в bounces + recipient = recipientdomain @ $ yourdomain - так что вообще без разбора вы можете узнать, какой адрес был возвращен!

Это называется VERP и используется менеджерами списков рассылки, такими как ezmlm или mailman: https://en.wikipedia.org/wiki/Variable_envelope_return_path

Предложенный вами подход ошибочен, поскольку статус «250 OK» на самом деле не означает, что письмо не будет возвращено последующими ретрансляторами!