我有一个奇怪的问题。在服务器上使用mail()函数和本地Postfix。当Postfix运行时,邮件被发送得很好但是如果我停止Postfix mail()仍然返回true但显然没有发送电子邮件,并且没有任何错误记录在任何地方。
发送代码:
echo $accepted; //Returns 0
$accepted = mail($to, $subject, $message, $headers);
echo $accepted; //Returns 1
服务器上没有其他MTA正在运行。
有没有好的调试方法?
答案 0 :(得分:2)
虽然Postfix可能没有运行,但邮件仍然成功排队发送 - 在Postfix的下一次启动时,它将被处理并发送。
PHP的(内部)sendmail
调用无法知道,如果MTA正在运行 - 只是排队邮件是否有效。