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

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

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

我知道我可以添加邮箱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,所有内容都是最新的

答案1

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

您现在的邮件转发配置似乎有效,但是由于 smtp.gmail.com 拒绝邮件而失败。

更新:供以后参考,问题在于/etc/mailname其中列出了不在mydestinations后缀列表中的名称。这导致所有邮件都被视为外来邮件,并且邮件绕过了/etc/aliases处理。

答案2

从问题中提取的解决方案

(谢谢雷苏

问题出在文件上/etc/mailname

该文件是由 Ubuntu 安装程序创建的,包含错误的服务器名称。我将其更改为“ricardo-laptop”后,postfix 意识到这些电子邮件是用于本地投递的,并开始遵循别名

答案3

我想为和我一样发现这个问题的人补充一点。如果您想要从根帐户获取所有邮件,一个简单的替代方法是运行以下命令:

sudo nano〜/.forward

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

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

相关内容