我有几个有时会产生错误输出并希望在我的“真实”电子邮件帐户中收到通知的 cron 作业,因为我不在我的 Ubuntu 笔记本电脑中使用我的用户邮箱,而是使用 cron(或者它可能是后缀)不断尝试通过电子邮件发送本地 root 帐户。
我知道我可以将MAILTO变量添加到 crontab:
ricardo@ricardo-laptop:~$ sudo crontab -l
[email protected]
# m h dom mon dow command
*/5 * * * * /home/ricardo/mrtg/cfg/run.sh
但它似乎并没有注意到它
我还尝试将我的电子邮件添加到/etc/aliases
文件中并运行newaliases
ricardo@ricardo-laptop:~$ cat /etc/aliases
# See man 5 aliases for format
postmaster: root
root: [email protected]
ricardo: [email protected]
尽管如此,每当 cron 想要发送电子邮件时,它仍然会将其发送到[email protected]
:
ricardo@ricardo-laptop:/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=<20100803192501.D985B310@ricardo-laptop>
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,一切都是最新的
您似乎已将 smtp.gmail.com 配置为邮件服务器的智能主机。您需要删除 smarthost 配置或对其进行编辑,以便您的服务器完全能够向外界发送邮件。
您现在用于邮件转发的配置似乎正在工作,但由于 smtp.gmail.com 拒绝邮件而失败。
更新:为了将来参考,问题在于
/etc/mailname
列出的名称不在mydestinations
后缀列表中。这导致所有邮件都被视为外来邮件并且邮件绕过了/etc/aliases
处理。从问题中提取的解决方案
(感谢Ressu)
问题出在文件上
/etc/mailname
此文件由 Ubuntu 安装程序创建,包含错误的服务器名称。一旦我将其更改为匹配“ricardo-laptop”后缀,我就意识到这些电子邮件旨在用于本地传递并开始遵循别名
以为我会为像我一样发现这一点的人添加。如果您希望所有邮件都来自您的 root 帐户,一个简单的替代方法是运行以下命令:
然后,您可以输入一封电子邮件或用逗号分隔多个电子邮件。这会将您所有的根电子邮件(假设您使用的是根)转发到此文件中的电子邮件地址。
添加电子邮件后,按 Ctrl+X 然后按 Y 保存更改。