обработка отказов электронной почты с phpmailer - PullRequest
0 голосов
/ 29 января 2012

У меня есть веб-страница, которая рассылает электронные письма, используя phpmailer.Я установил для узла «relay-hosting.secureserver.net» mail-> sender, mail-> from и mail-> addReplyTo для всех на один и тот же адрес, который является адресом, на который я хочу отправлять уведомления об отклоненных письмах.Этот адрес электронной почты также с тем же хостом и хостом smtp.Когда я вставляю неверный адрес электронной почты, я не получаю уведомления, которое не было доставлено.Что я делаю неправильно?Спасибо

Ответы [ 2 ]

1 голос
/ 29 января 2012

PHPmailer не обрабатывает получение электронных писем.Это просто библиотека, позволяющая PHP общаться с SMTP-сервером для отправки электронных писем.Он абсолютно не поддерживает работу в качестве почтового клиента (например, получение).

PHPmailer не может узнать, что почта переадресована, поскольку отскок происходит ДЛИННО после того, как PHPmailer передал письмо на исходящий SMTP-сервер.В реальных условиях PHPmailer берет ваше письмо и идет вниз по блоку, чтобы поместить его в почтовый ящик.Отказ происходит позже, когда носитель письма возвращает письмо с печатью «возврат отправителю» - PHPmailer вообще не участвует в этом.

Ваши варианты:

1)Используйте функции PHP imap для подключения к существующему серверу pop / imap и получения электронных писем таким образом
2) Используйте перенаправление .forward или аналогичное на стороне SMTP для «отправки» входящей электронной почты в сценарий PHP.

0 голосов
/ 22 ноября 2012

Я знаю, что это старый и отвеченный вопрос, но для тех, кто может найти этот пост позже с похожей проблемой, вы могли бы решить эту проблему, перейдя в службу SMTP-ретрансляции почты.Если, например, вы используете jangosmtp, в панели управления jangosmtp есть возможность либо жестко закодировать адрес, на который следует отправлять отчеты об отказах, либо всегда отправлять отчеты об отказах на адрес От.

...