mailto crontab 不起作用

Posted

技术标签:

【中文标题】mailto crontab 不起作用【英文标题】:mailto crontab doesn't work 【发布时间】:2011-07-23 02:46:26 【问题描述】:

我每天都通过 crontab 在 mybookworld(NAS) 上运行一个脚本。如果它可以每天向我发送包含脚本输出的电子邮件报告,那就太好了。

所以我在 crontabs 中查看了 MAILTO,但它根本没有给我发送任何东西。脚本在正确的时间正确运行,但没有电子邮件。 这是我的 crontab:

~ # crontab -l
MAILTO=x.y@googlemail.com

0 0 * * * python /root/erepCrawler/src/main.py

出于测试原因,我编写了一个“更小”的 crontab:

MAILTO=x.y@googlemail.com
* * * * * echo "blaah"

这应该每分钟向我发送一封以“blaah”为正文的电子邮件。如果我错了,请纠正我。

使用 crontab 发送邮件是否需要其他软件包? sendmail 安装在 /opt/sbin/sendmail 中。

【问题讨论】:

我猜你没有适当地设置任何邮件传输代理,是吗?您可以从命令行发送邮件吗,例如echo Test | mail -s Test x.y@googlemail.com 我认为你是对的。甚至没有安装名为邮件的东西。经过一番谷歌搜索后,我现在正在尝试在 Nas 上安装 postfix。有了这个,我应该工作吧? 如果后缀配置正确(特别是中继服务器等),它应该可以工作。 【参考方案1】:

我必须将其添加到 /etc/hosts 以便解析发给我服务器自己的 FQDN 上的任何人的邮件:

127.0.0.1 mydomain.com.

注意最后的点。就我而言,我基本上是用MAILTO=root 向root@localhost 发送电子邮件,该电子邮件被翻译为root@mydomain.com。

Here's some more detail on this answer.

【讨论】:

【参考方案2】:

在花了几个小时调试为什么这在我的 Debian 机器上无法与 nullmailer 一起工作后,我发现我在 gmail 有一个过滤器,可以发送从 cron 到“所有邮件”的所有内容,而无需通过我的收件箱......只是需要检查一些东西。

【讨论】:

【参考方案3】:

它应该在 cron 中工作,并进行以下修改:

MAILTO="x.y@googlemail.com"
* * * * * echo blaah

在我的服务器上工作,刚刚测试过。

【讨论】:

好吧,我认为“不是重点(请参阅 bml 的评论)。但很高兴知道,如果邮件安装正确,echo "blaah" 可以工作:) 感谢帮助 需要引号吗?我正在尝试调试我的问题。 不需要引号,以下是完全有效的 MAILTO=email1@domain.com,email2@domain.com 不需要电子邮件的报价!花了好长时间才弄明白。 我确实尝试过不带引号的情况,并且所有电子邮件用户都收到了电子邮件。就我而言,它不起作用,因为我正在通过电子邮件发送输出并尝试同时将其写入文件,这意味着以下代码将不起作用。 MAILTO=me@example.com,coleague@example.com* * * * * echo 'blah' >> /tmp/logs/blah.log

以上是关于mailto crontab 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用 html Mailto 向多个收件人发送电子邮件:不起作用

mailto 链接在 chrome 扩展弹出窗口中不起作用

从iOS主屏幕启动网站时,Mailto不起作用

为啥百分号 (%) 在 crontab 中不起作用? [复制]

mysqldump 在 crontab 中不起作用

装入crontab的命令在macOS中不起作用