我已经有一个 cronjob 工作了大约两周,没有任何问题。然后昨晚我检查了一下,我没有收到我通常收到的电子邮件。我去终端尝试给自己发送电子邮件,但出现以下错误:
邮件:无法发送消息:进程以非零状态退出
我没有对 ssmtp cfg 文件进行任何更改。它只是停止工作,当我检查并重新检查所有内容时,代码、ssmtp,一切都很完美。
我每天通过 cronjob 发送两次电子邮件。 crontab 也没有受到干扰。我真的不知道为什么它会停止工作。
系统通过 gmail 发送电子邮件 - 我已经进入 gmail 帐户并发送测试电子邮件,它们的发送和接收没有任何问题。
另外,我检查了谷歌、论坛、网站,没有发现任何错误。这是有道理的,因为 24 小时前一切都工作正常,现在就停止了。
问:有什么方法可以诊断和排除故障以解决此类问题吗?
答案1
我在 Ubuntu 14.04 服务器上遇到了同样的问题。我在 中找到错误消息/var/log/mail.err
,其中表示:
postfix/sendmail[27115]: fatal: open /etc/postfix/main.cf: No such file or directory
然后我只是重新配置postfix
并解决了这个问题。
sudo dpkg-reconfigure postfix
答案2
主要是由于文件太大,您可以将文件压缩并重新发送。
答案3
在 Debian 上我收到错误
mail: cannot send message: process exited with a non-zero status error
和退出代码
$ echo $?
$ 36
因为 /etc/hostname 中的主机名和 /etc/hosts 中 127.0.0.1 的名称不同。
答案4
sudo dpkg-reconfigure postfix
系统邮件名称。
请阅读日志:vim /var/log/mail.err
ff@ubuntu:/var/log$ head -n 20 mail.err
Sep 7 10:36:39 ubuntu sm-msp-queue[6302]: unable to qualify my own domain name
(ubuntu) -- using short name
ff@ubuntu:/var/log$