Php 发送电子邮件时出错

Php 发送电子邮件时出错,php,email,Php,Email,几天前,我可以通过服务器上的邮件功能发送电子邮件。但现在,邮件无法发送。错误日志中没有任何内容。我没有得到任何错误。我不知道,为什么电子邮件不发送 我能做什么?我怎样才能解决这个问题 编辑 现在我收到的所有电子邮件大约有18封:。为什么邮件会延迟?你试过吗 问题似乎在于PHP使用 ini指令sendmail_from to set SMTP中的发件人电子邮件地址 协议如果这不正确 设置,或者如果它与源不匹配 标题在电子邮件标题中,电子邮件 被垃圾邮件保护软件捕获。 最简单的解决方案是设置 执行期

几天前,我可以通过服务器上的邮件功能发送电子邮件。但现在,邮件无法发送。错误日志中没有任何内容。我没有得到任何错误。我不知道,为什么电子邮件不发送

我能做什么?我怎样才能解决这个问题

编辑 现在我收到的所有电子邮件大约有18封:。为什么邮件会延迟?

你试过吗

问题似乎在于PHP使用 ini指令sendmail_from to set SMTP中的发件人电子邮件地址 协议如果这不正确 设置,或者如果它与源不匹配 标题在电子邮件标题中,电子邮件 被垃圾邮件保护软件捕获。 最简单的解决方案是设置 执行期间的指令:

ini_setsendmail_from,$email_from

$headers=From:$email\u From

邮件$to、$subject、$message、, $headers


好的,现在我一共收到了18封邮件。我不知道,为什么邮件会延迟。

也许你的接收邮件服务器实现了灰色列表


您是否有权访问Web服务器的邮件队列或邮件日志?在这种情况下,您可以在那里搜索延迟或被退回的邮件。

PHP的邮件发送函数实际上并不传递邮件。它只需将其交给SMTP服务器即可。不管它是否真的被送达,都不是通过邮件的方式来考虑的,它只是与交接有关

如果SMTP服务器接受它,那么邮件将返回true并假装一切正常。SMTP服务器可能会删除邮件,将其发送到错误的位置,通过一堆其他SMTP服务器将其路由,从而导致邮件延迟一年,等等,但邮件仍然会说一切正常


查找原因的地方是邮件服务器自己的日志。如果出现交付问题,则在某个地方会有一个每次交付尝试的列表。

是否有错误报告?错误报告全部;对并且没有任何错误消息。我可以登录到我的经销商的plesk面板。但是我不知道maillog在哪里。对不起,我不知道非管理员plesk用户是否可以访问邮件队列,但有时邮件在此时传递,有时传递延迟。邮件返回的是真的。只要本地SMTP服务器接受邮件,邮件就会返回true。但是,实际的电子邮件本身可能会在一个队列中等待数天或数周,直到SMTP服务器开始发送它。因此,请查看SMTP服务器的日志。这就是为什么会有延误的原因。也许接收端正在使用灰色列表。