我有一个 cron cron 作业设置来发送电子邮件。它使用以下命令执行:
/usr/bin/php -q /var/www/vhosts/domain.com/cron/job.php
当我从浏览器执行 php 脚本时,脚本会按预期发送电子邮件。由 cron 作业运行时失败。
我在邮件日志中看不到任何错误。唯一的区别在于“从”行。从浏览器执行脚本时,日志显示:
Jan 25 12:24:39 VMW01 qmail-remote-handlers[1001]: from=sender@domain.com
但是当 cron 作业执行脚本时,“from”行变为:
Jan 25 12:15:01 VMW01 qmail-queue-handlers[1000]: from=anonymous@VMW01.server.net
奇怪的是,当我删除 mail() 行的第五个参数时,cron 作业将发送电子邮件。
mail($email, $subject, $body, $headers, '-fsender@domain.com');
我会简单地接受这个,但如果我删除参数,电子邮件通常会被服务器拒绝 - 我认为这是因为未设置参数。
知道为什么会发生这种情况以及如何解决吗?我很乐意为这个问题添加更多细节,以便找到解决方案。