PHPMailer: установите пользовательский заголовок, чтобы идентифицировать его в электронном письме

Я отправляю электронные письма с PHPMailer. Когда электронное письмо отклонено, оно отправляется в учетную запись, например: account_bounces@domain.com

В моем почтовом клиенте, где я управляю этой учетной записью (account_bounces@domain.com), у меня есть возможность добавлять фильтры для перенаправления электронной почты на любую другую учетную запись электронной почты на основе сравнения полей, таких как «Тема», «От» , «К» и так далее. Это хорошо.

Проблема в том, что отклоненное письмо теряет все мои заголовки / темы … которые я установил с помощью PHPMailer, потому что это ВСЕГДА составляется сервером следующим образом:

  • Тема: недоставленная почта вернулась отправителю
  • От: MAILER-DAEMON@llsd409-a04.servidoresdns.net
  • To: account_bounces@domain.com
  • Дата: сегодня чч: мм

Поэтому у меня нет направляющих отметок для добавления фильтра.

Итак, есть ли способ установить отметку (например, пользовательский заголовок и т. Д.) В PHPMailer, который REMAINS в ответном письме? Например, что-то вроде этого:

  • Тема: недоставленная почта, возвращаемая отправителю (bounce_redirect)

Таким образом, слово «bounce_redirect» в теме (или где-либо еще) будет указывать моему почтовому клиенту, что это электронное письмо должно быть перенаправлено.

Заранее спасибо.

0

Решение

К сожалению, вы не можете заставить эту проблему в заголовках; Единственный способ обойти это использовать VERP адресация, Это единственный способ гарантировать, что он сохранит информацию о сообщении и на какой адрес он был первоначально отправлен. Для MS Exchange характерно отправлять рикошетные сообщения, в которых не указан исходный адрес, на который было отправлено сообщение, поэтому VERP является единственным решением.

Для вашего примера типичным адресом VERP будет:

account_bounces-user=domain.com@domain.com

Ваш почтовый сервер будет настроен на поиск account_bounces префикс и удалить его, и преобразовать = к @ в локальной части, чтобы извлечь оригинальный адрес.

В PHPMailer вы можете установить это как Sender собственность, как:

$mail->Sender = 'account_bounces-user=domain.com@domain.com';

Это будет использоваться в качестве отправителя конверта SMTP и преобразовано в Return-Path
заголовок принимающего сервера, и, таким образом, будет использоваться в качестве адреса «Кому», когда сообщение будет отклонено.

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

2

Другие решения

Других решений пока нет …