it-swarm.cn

如何让cron通过电子邮件发送我的@gmail帐户

我有几个cron作业,有时会产生错误输出,并希望在我的“真实”电子邮件帐户中收到通知,因为我不在我的Ubuntu笔记本电脑中使用我的用户邮箱,但是cron(或者它可能是postfix)不断尝试通过电子邮件发送本地root帐户。

我知道我可以将MAILTO变量添加到crontab:

[email protected]:~$ Sudo crontab -l
[email protected]
# m h  dom mon dow   command
*/5 * * * * /home/ricardo/mrtg/cfg/run.sh

但它似乎没有引起任何关注

我还尝试将我的电子邮件添加到/etc/aliases文件并运行newaliases

[email protected]:~$ cat /etc/aliases
# See man 5 aliases for format
postmaster:    root
root:          [email protected]
ricardo:       [email protected]

仍然,每当cron想要发送电子邮件时,它仍然会将其发送到[email protected]

[email protected]:/var/log$ tail mail.log
Aug  3 16:25:01 ricardo-laptop postfix/pickup[2002]: D985B310: uid=0 from=<root>
Aug  3 16:25:01 ricardo-laptop postfix/cleanup[4117]: D985B310: message-id=<[email protected]>
Aug  3 16:25:01 ricardo-laptop postfix/qmgr[2003]: D985B310: from=<[email protected]>, size=762, nrcpt=1 (queue active)
Aug  3 16:25:03 ricardo-laptop postfix/smtp[4120]: D985B310: to=<[email protected]>, orig_to=<root>, relay=smtp.gmail.com[74.125.157.109]:25, delay=1.5, delays=0.38/0.02/0.9/0.18, dsn=5.7.0, status=bounced (Host smtp.gmail.com[74.125.157.109] said: 530 5.7.0 Must issue a STARTTLS command first. d1sm12275173anc.19 (in reply to MAIL FROM command))

有什么建议?我正在运行Ubuntu 10.04,所有内容都是最新的

40
Ricardo Reyes

您似乎已将smtp.gmail.com配置为邮件服务器的智能主机。您需要删除smarthost配置或对其进行编辑,以便您的服务器完全能够向外界发送邮件。

您现在用于邮件转发的配置似乎正在运行,但由于smtp.gmail.com拒绝邮件而失败。

更新:为了将来参考,问题出现在/etc/mailname中,它列出了一个不在postfix的mydestinations列表中的名称。这导致所有邮件被视为外国邮件并且邮件绕过了/etc/aliases处理。

20
Ressu

解决方案从问题中提取

(感谢 Ress

问题出在文件/etc/mailname

此文件由Ubuntu安装程序创建,包含错误的服务器名称。一旦我改变它以匹配“ricardo-laptop”postfix实现了电子邮件用于本地传递并开始遵循别名

1
guntbert

以为我会为那些像我一样发现这一点的人添加。如果您希望root帐户中的所有邮件都运行此命令,那么这是一个简单的替代方法:

Sudo nano~/.forward

然后,您可以使用逗号分隔一封电子邮件或多个电子邮件。这会将所有根电子邮件(假设您使用的是根目录)转发到此文件中的电子邮件地址。

添加电子邮件后,按Ctrl + X,然后按Y保存更改。

0
Phil Young