这个问题已经在这里有一个答案:
- PHP的邮件功能没有完成发送电子邮件的 25个回答
我的服务器上如何我可以检查与邮件有问题正在发送? 我运行一个简单的测试:
if(mail($to, $subject, $message)) {
echo 'Mail Sent';
}
其中测试输出的文本; 但是,没有邮件到达过。
我怎么能去下来的问题跟踪?
这个问题已经在这里有一个答案:
我的服务器上如何我可以检查与邮件有问题正在发送? 我运行一个简单的测试:
if(mail($to, $subject, $message)) {
echo 'Mail Sent';
}
其中测试输出的文本; 但是,没有邮件到达过。
我怎么能去下来的问题跟踪?
这是一个相当漫长的故事。 有几个要点(假设邮件()返回true,并有在错误日志中没有错误):
对于讲德语,我已经写了相当详尽的“做什么”这个问题,前一段时间。 见这里 。
继迈尔斯,如果你是在Linux机器上,这样做在命令行:
# echo “Body text.” | mail -s “Hello world” you@example.com
如果您没有收到电子邮件,您必须对那个盒子的邮件系统出了问题。 这是你问的问题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**.
不知道如何采取下一步,但这里是一个重要的点。
如果所有故障排除均失败-现在假定邮件()返回,原因不明假-切换到类似邮寄脚本PHPMailer的 ,可以让你完全绕过邮件(),并直接通过SMTP连接,并提供丰富的调试模式。 这样的话,你应该能够要么成立一个工作解决方案或找到问题的核心。
我开始的第一个地方是PHP错误日志,那么你的sendmail的日志。 也可以尝试从命令行sendmail和检查PHP配置,以确保是正确设置用于发送邮件。
是你的工作在实时Web服务器这里,或者说沿着个人发展沙箱的线路吗? (即,自己家里的电脑?)如果是后者,我可以告诉你,我已经在过去很多的问题,我的ISP(考克斯)过滤我的出站邮件的端口。 (他们会告诉你,他们不这样做,但我敢肯定 ,他们这样做。)
我也得到了一些出站邮件这并使其通过考克斯邮件线轴天被抓到他们送到了我面前。
我希望这是有帮助的。