mail()失败,但返回true
|
我正在尝试在服务器上使用php
mail()
函数。很奇怪,它返回true,但是我的电子邮件收件箱中什么也没有收到。
但是,cpanel电子邮件转发器工作正常。
因此,这不是配置的事情,因为转发器向我发送电子邮件了吗?
我尝试添加:
ini_set(\"sendmail_from\", \"do-not-reply@gmail.com\");
但这没有用。
这是我的代码:
$subject = \"My Subject\";
$body = \"Email Body \";
$headers = \'From: do-not-reply@domain.com\' . \"\\r\\n\" .
\'Reply-To: do-not-reply@domain.com\' . \"\\r\\n\" .
\'X-Mailer: PHP/\' . phpversion();
if (mail($email,$subject,$body,$headers))
echo \"Sent!\";
else
echo \"Fail!\";
没有找到相关结果
已邀请:
6 个回复
疾很毋悲
你换
函数很少返回returns5以外的值。它只关心已成功将电子邮件发送给MTA(邮件传输代理,即实际发送该邮件的程序)这一事实。 如果邮件格式不正确,MTA只会立即拒绝它。在这种情况下,您会在PHP中遇到错误。但是由于多种原因,它也可能拒绝电子邮件或在从PHP接受电子邮件后发送失败,由于种种原因,PHP不会对此有任何想法,因为它已经收到了5封响应。 您的MTA将有一个错误日志,如果该错误是本地发生的,您可以检查更多信息。
贡炮逗握惫
补蹲农界维
屉杆绊
然后,您可以看到分配给您尝试发送的最后一封电子邮件的ID。例如。我知道了:
69F3441529是分配给该电子邮件的唯一ID。然后,您可以对具有该ID的所有行的日志进行grep ...
然后,您应该能够发现可能出现的任何错误消息,然后对它们进行Google搜索:)
骚瓤