Ошибка доставки электронной почты в функции php mail - PullRequest
1 голос
/ 16 февраля 2012

Я использую функцию PHP mail () для отправки писем.Можно ли узнать, отправлено или не получено электронное письмо?

Ответы [ 5 ]

1 голос
/ 22 апреля 2016

попробуйте включить X-Failed-Recipients: << email >>

1 голос
/ 16 февраля 2012

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

Если вы не включите в свою электронную почту какую-либо ссылку для ответа, по которой получатель должен нажать, тогда нет.

0 голосов
/ 24 февраля 2013

Вот вам ... обычная отправка электронных писем с помощью PHPmailer:

if(!$mail->Send()){
   echo "Emails Sending Failed!";
}else{
   echo "Emails Successfully Sent!";
}

Для поиска дополнительной ошибки MSG поможет следующий код дополнения ...

echo $mail->ErrorInfo;
0 голосов
/ 16 февраля 2012

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

Возвращает TRUE, если почта была успешно принята для доставки, FALSE в противном случае.

Важно отметить, что то, что почта была принята для доставки, НЕ означает, что почта действительно достигнет предполагаемый пункт назначения.

См. Здесь.

0 голосов
/ 16 февраля 2012

Функция PHP Mail возвращает логическое значение.Таким образом, вы можете легко узнать, была ли принята почта для доставки.Но вы не можете знать, было ли оно отправлено почтовым сервером (SMTP)

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

Возвращает TRUE, если почта была успешно принята для доставки, иначе FALSE.

Itважно отметить, что только то, что почта была принята для доставки, не означает, что почта действительно достигнет назначенного пункта назначения.

Ссылка: http://php.net/manual/en/function.mail.php

Код

if(mail(...)){ ... }
else{ ... }
...