我有一台安装了 Postfix 的 Ubuntu 18.04 VM,当进行无人值守升级或需要重新启动时,它可以正常工作并发送电子邮件通知。使用 Gmail 作为中继主机,电子邮件将发送到我的个人电子邮件帐户:
relayhost = [smtp.gmail.com]:587
问题是当有一封电子邮件发给 root 用户时,在这种情况下,我希望这些电子邮件也能发送到我的个人地址。经过一番研究,我发现有两种方法可以做到这一点。
在第一个选项中,我创建了一个名为 /root/.forward 的文件并添加了我的个人电子邮件地址,重新启动了虚拟机,但根电子邮件仍然被转发到[电子邮件保护]。
第二种选择是编辑 /etc/aliases 文件并添加我的外部地址:
postmaster: root
root: [email protected]
然后运行:
sudo newaliases
然后重新启动 postfix:
service postfix restart
但再次测试时:
echo test | mail -s "test message" root
该电子邮件再次发送至[电子邮件保护]而不是我的个人地址。
这个看似简单的任务对我来说却毫无作用。
知道我遗漏了什么吗?
通话记录如下:
Sep 6 00:38:24 hol-01-bwt postfix/pickup[2453]: 77645120105: uid=0 from=<[email protected]>
Sep 6 00:38:24 hol-01-bwt postfix/cleanup[17908]: 77645120105: message-id=<[email protected]>
Sep 6 00:38:24 hol-01-bwt postfix/qmgr[4710]: 77645120105: from=<[email protected]>, size=455, nrcpt=1 (queue active)
Sep 6 00:38:26 hol-01-bwt postfix/smtp[17914]: 77645120105: to=<[email protected]>, relay=smtp.gmail.com[74.125.26.108]:587, delay=1.8, delays=0.05/0.08/0.68/1, dsn=2.0.0, status=sent (250 2.0.0 OK 1599367106 i3sm1850454vke.5 - gsmtp)
我已经修改了根域和我的个人域。根据日志,一切都应该正常,因为电子邮件已发送到我的个人电子邮件。
但是,我从未收到任何测试电子邮件,我的 gmail 邮箱显示邮件未送达 root@serverDomain,因为无法找到域(当然)。它应该被发送到[电子邮件保护]
答案1
mydestination
通过删除/etc/postfix/main.cf 上的参数解决了问题
这是因为/etc/aliases
Postfix 认为该电子邮件不是本地传递的,所以它被忽略了,因此不会应用本地别名。
删除参数后,根邮件被转发到我的电子邮件地址。