疑难解答PHP邮件

疑难解答PHP邮件,第1张

概述疑难解答PHP邮件

如何检查邮件在我的服务器上发送的问题? 我运行一个简单的testing:

if(mail($to,$subject,$message)) { echo 'Mail Sent'; }

testing输出文本; 但是,没有邮件到达。

我怎样才能追踪这个问题呢?

如何使用docker for sendmailconfigurationexim

使用mail()在Nginx中导致504 Gateway超时

邮件()在新服务器上不起作用

PHP邮件()函数不传递邮件

使用uuencode发送邮件,使用'sendmail',并有一个主题

这是一个相当长的故事。 几个要点(假设mail()返回true并且错误日志中没有错误):

发件人地址(“发件人”)是否属于服务器上的域名? 如果没有,就这样做。

您的服务器是否在黑名单上(例如,在spamhaus.org上检查IP)? 这是共享主机的一个遥远的可能性。

邮件是否被垃圾邮件过滤器过滤了? 打开包含垃圾邮件文件夹的freemailer的帐户并找出。 另外,请尝试将邮件发送到没有垃圾邮件过滤器的地址。

你可能需要邮件()的第五个参数“-f”来添加发件人地址吗? (请参阅PHP手册中的mail()命令)

如果您有权访问日志文件,请按照上面的建议检查这些文件。

您是否检查可能的退回邮件的“发件人地址”(“退回发件人”)? 您也可以设置一个单独的“错误”地址。

对于讲德语的人来说,前段时间我在这个问题上写了一个相当详尽的“怎么办”。 看到这里 。

继Myles之后,如果您在linux上,请在命令行上执行以下 *** 作:

# echo “Body text.” | mail -s “Hello world” [email protected]

如果您没有收到该电子邮件,则说明该邮箱的邮件系统有问题。 这是您提出的PHP问题的另一个问题。

从PHP手册:

Return Values Returns TRUE if the mail was successfully accepted for delivery,FALSE otherwise. It is important to note that just because the mail was accepted for delivery,**it does NOT mean the mail will actually reach the intended destination**.

不知道如何采取下一步,但这是一个重要的一点。

如果所有的故障排除都失败 – 现在假设mail()因为未知原因返回false – 切换到PHPMailer这样的邮件脚本,它允许您完全绕过mail()并通过SMTP直接连接,并提供广泛的调试模式。 这样,您应该能够设置一个工作解决方案或找到问题的核心。

我要开始的第一个地方是PHP错误日志,然后是你的sendmail日志。 也可以从命令行尝试sendmail并检查PHP配置以确保发送邮件的设置正确。

你在这里工作的网络服务器,还是更多的个人发展沙箱? (也就是说你的家用机器?)如果是后者,我可以告诉你,我的ISP(Cox)过滤了我的出站邮件端口,以前有很多问题。 (他们会告诉你,他们不这样做,但我确定他们这样做。)

我还收到了一些出站邮件,这些邮件在交付给我之前已经在Cox邮件缓冲池中发现了好几天了。

我希望这是有帮助的。

总结

以上是内存溢出为你收集整理的疑难解答PHP邮件全部内容,希望文章能够帮你解决疑难解答PHP邮件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1157571.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存