Kubuntu 20.04 不从 cron 发送电子邮件

Kubuntu 20.04 不从 cron 发送电子邮件

我是 Kubuntu 新手(大约 4 周前安装了 20.04)。我遇到了 cron 作业无法发送电子邮件的问题。我知道我必须有一个 MTA,所以我安装并配置了 ssmtp。我还安装了 postfix,但后来删除了它。

当我运行此命令时:

ls -al /usr/lib/sendmail

它向我展示了这个输出:

lrwxrwxrwx 1 root root 16 Feb 24 2020 /usr/lib/sendmail -> ../sbin/sendmail

当我运行此命令时:

ls -al /usr/lib/sendmail

它向我展示了这个输出

lrwxrwxrwx 1 root root 16 Feb 24 2020 /usr/lib/sendmail -> ../sbin/sendmail

因此,这两个命令告诉我 sendmail 正确指向 ssmtp,这是我所期望的,因为 sendmail 尚未安装。

我知道 ssmtp 配置正确,因为我可以使用类似这样的邮件命令发送电子邮件:

echo "test from myname@myhostname to [email protected]" | mail -s "test from myname@myhostname" [email protected]

我的邮件程序接收上述命令的输出(我使用 Evolution)。

我有一个 crontab 文件,其中有类似如下的行:

SHELL=/bin/bash
MAILTO="[email protected]"
* * * * * date & 

根据我读过的所有帖子,我期望上述 crontab 定义将 date 命令的输出发送到 MAILTO 语句中指定的电子邮件地址。但我从未收到任何这些电子邮件。我检查了 /var/log/cron.log,我知道 cron 任务确实已执行。我还检查了 var/log/mail.log,我知道电子邮件未发送。我还检查了 var/log/mail.err,知道没有发布任何错误。

我已经找到了一种强制 cron 发送电子邮件的解决方法。我将 cron 任务定义行更改为如下所示:

* * * * * date | mail -s "cron date myname@myhostname" [email protected] &

在这种情况下,cron 确实会发送电子邮件,并且 Evolution 会收到。

我不明白为什么当我没有将其作为声明的一部分时,cron 无法发送电子邮件。| mail -s "cron date myname@myhostname" [email protected]

我已经研究这个问题好几天了。任何帮助我都会非常感激。

超人

相关内容