php邮件功能中的电子邮件传递失败


Email delivery failure in php mail function

我使用PHP mail()函数发送电子邮件。是否可以查明电子邮件是否已发送或失败?

否无法确定是否收到电子邮件:电子邮件不是一种有保证的传递机制。

除非你在电子邮件中包含某种收件人必须点击的回复链接,否则不要。

尝试包括X-Failed-Recipients:<lt;电子邮件>>

PHP Mail函数返回一个布尔值。因此,你可以很容易地知道邮件是否被接受。但你无法知道它是否由邮件服务器(SMTP)发送

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

如果邮件已成功接受发送,则返回TRUE,返回FALSE否则

需要注意的是,仅仅因为邮件已被接受这并不意味着邮件会真正到达预定的目的地目的地

链接:http://php.net/manual/en/function.mail.php

代码

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

不,不检查邮件程序日志是不可能的。邮件功能仅在邮递员接受您的邮件时返回true,但在收件人收到邮件时不向您提供信息。

如果邮件已成功接受发送,则返回TRUE,返回FALSE否则

需要注意的是,仅仅因为邮件已被接受交付,并不意味着邮件将真正到达预定目的地。

请参见此处。

给你。。。基本发送电子邮件PHPmailer:

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

对于查找额外的失败消息,以下附加代码将有所帮助。。。

echo $mail->ErrorInfo;