Как я могу получить сообщение об ошибке для почты () функция?

Я использовал PHP mail() функция.

Если бы почта не посылает ни за какой причиной, я хотел бы повторить сообщение об ошибке. Как я сделал бы это?

Что-то как

$this_mail = mail('example@example.com', 'My Subject', $message);

if($this_mail) echo 'sent!';
else echo error_message;

Спасибо!

71
задан xil3 6 July 2010 в 13:50
поделиться

4 ответа

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

, нет надежного способа проверить, было ли сообщение отправлено на php. Вам нужно будет просмотреть журналы почтового сервера.

15
ответ дан 24 November 2019 в 13:02
поделиться

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

4
ответ дан 24 November 2019 в 13:02
поделиться

Как говорили другие, для отправки почты нет отслеживания ошибок, она возвращает логический результат добавления почты в исходящую очередь. Если вы хотите отслеживать истинный успех, попробуйте использовать SMTP с почтовой библиотекой, такой как Swift Mailer, Zend_Mail или phpmailer.

0
ответ дан 24 November 2019 в 13:02
поделиться

Нет сообщения об ошибке, связанного с функцией mail () . Только истина или ложь возвращается в зависимости от того, было ли письмо принято для доставки. Не о том, будет ли он в конечном итоге доставлен, а о том, существует ли домен и является ли адрес правильно отформатированным адресом электронной почты.

2
ответ дан 24 November 2019 в 13:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: