PHP Mail (): как получить больше информации о сбое отправки почты с помощью php mail (). - PullRequest
0 голосов
/ 02 апреля 2012

Если php mail () не может отправить письмо, есть ли способ, с помощью которого мы можем узнать точную причину сбоя.

Ответы [ 2 ]

1 голос
/ 02 апреля 2012

При быстром взгляде я не смог найти способа отловить ошибки, сгенерированные mail(). Самый простой способ - использовать error_get_last для сбора последней произошедшей ошибки. Тем не менее, вы должны сделать это один раз mail() возвращает false.

Другим возможным решением будет set_error_handler и когда вы отправляете почту, а затем сразу же удаляете обработчик после отправки почты. Затем ваш обработчик ошибок должен иметь возможность перехватывать любые ошибки / предупреждения / уведомления, которые произошли при отправке почты.

Использование библиотеки, такой как swiftmailer , будет гораздо более гибким, поскольку позволит легко отлавливать ее ошибки и исключения.

Если вы говорите об ошибках на принимающем сервере, то вам нужно внедрить VERP или какой-то алгоритм обнаружения отказов. PHPMailer-BMH может быть полезным в этом случае.

0 голосов
/ 02 апреля 2012

Моя конфигурация использует sendmail и выводит отчеты о сбоях в каталоге sendmail.Проверьте свои папки на наличие дампов ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...