我正在尝试将电子邮件中继到 Office 365,并已将后缀配置如下:
meta_directory = /etc/postfix
shlib_directory = /usr/lib64/postfix
myhostname = mail.disorderly-order.com
mydomain = disorderly-order.com
myorigin = $mydomain
mynetworks = 127.0.0.0/8, 10.10.0.0/16
smtp_generic_maps = hash:/etc/postfix/generic
relayhost = disorderlyorder-com02e.mail.protection.outlook.com
我已按照此网站上的说明设置连接器:http: //kb.eclipseinc.com/kb/postfix-relay-office365/。我已将 relayhost 设置为 disorderlyorder-com02e.mail.protection.outlook.com,这是 MX 记录的值。
当我发送邮件时,什么都没有通过。下面是我的 journalctl 日志。我可以看到它向 [email protected] 发送电子邮件,但我没有向该地址发送任何电子邮件。我只向 [email protected] 发送了电子邮件。
Jul 10 22:04:40 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 27A0D10136330: from=<[email protected]>, size=488, nrcpt=1 (queue active)
Jul 10 22:04:40 vxmail.livedemo.vdevops.info postfix/smtp[740108]: 27A0D10136330: to=<[email protected]>, relay=disorderlyorder-com02e.mail.protection.outlook.com[104.47.71.202]:>
Jul 10 22:04:40 vxmail.livedemo.vdevops.info postfix/cleanup[740106]: F0E0510136331: message-id=<[email protected]>
Jul 10 22:04:40 vxmail.livedemo.vdevops.info postfix/bounce[740109]: 27A0D10136330: sender non-delivery notification: F0E0510136331
Jul 10 22:04:40 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: F0E0510136331: from=<>, size=3299, nrcpt=1 (queue active)
Jul 10 22:04:40 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 27A0D10136330: removed
Jul 10 22:04:41 vxmail.livedemo.vdevops.info postfix/smtp[740108]: F0E0510136331: to=<[email protected]>, relay=disorderlyorder-com02e.mail.protection.outlook.com[104.47.71.138]:>
Jul 10 22:04:41 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: F0E0510136331: removed
Jul 10 22:05:26 vxmail.livedemo.vdevops.info postfix/pickup[740098]: 62B9C10136330: uid=0 from=<root>
Jul 10 22:05:26 vxmail.livedemo.vdevops.info postfix/cleanup[740106]: 62B9C10136330: message-id=<[email protected]>
Jul 10 22:05:26 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 62B9C10136330: from=<[email protected]>, size=910, nrcpt=1 (queue active)
Jul 10 22:05:26 vxmail.livedemo.vdevops.info postfix/smtp[740108]: 62B9C10136330: to=<[email protected]>, orig_to=<root>, relay=disorderlyorder-com02e.mail.protection.outlook.com>
Jul 10 22:05:27 vxmail.livedemo.vdevops.info postfix/cleanup[740106]: 0DCAC10136331: message-id=<[email protected]>
Jul 10 22:05:27 vxmail.livedemo.vdevops.info postfix/bounce[740109]: 62B9C10136330: sender non-delivery notification: 0DCAC10136331
Jul 10 22:05:27 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 0DCAC10136331: from=<>, size=3626, nrcpt=1 (queue active)
Jul 10 22:05:27 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 62B9C10136330: removed
Jul 10 22:05:27 vxmail.livedemo.vdevops.info postfix/smtp[740108]: 0DCAC10136331: to=<[email protected]>, relay=disorderlyorder-com02e.mail.protection.outlook.com[104.47.71.202]:>
Jul 10 22:05:27 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 0DCAC10136331: removed
Jul 10 22:06:26 vxmail.livedemo.vdevops.info postfix/pickup[740098]: 77AA310136330: uid=0 from=<root>
Jul 10 22:06:26 vxmail.livedemo.vdevops.info postfix/cleanup[740106]: 77AA310136330: message-id=<[email protected]>
Jul 10 22:06:26 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 77AA310136330: from=<[email protected]>, size=910, nrcpt=1 (queue active)
Jul 10 22:06:27 vxmail.livedemo.vdevops.info postfix/smtp[740108]: 77AA310136330: to=<[email protected]>, orig_to=<root>, relay=disorderlyorder-com02e.mail.protection.outlook.com>
Jul 10 22:06:27 vxmail.livedemo.vdevops.info postfix/cleanup[740106]: 233FA10136331: message-id=<[email protected]>
Jul 10 22:06:27 vxmail.livedemo.vdevops.info postfix/bounce[740109]: 77AA310136330: sender non-delivery notification: 233FA10136331
Jul 10 22:06:27 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 233FA10136331: from=<>, size=3626, nrcpt=1 (queue active)
Jul 10 22:06:27 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 77AA310136330: removed
Jul 10 22:06:27 vxmail.livedemo.vdevops.info postfix/smtp[740108]: 233FA10136331: to=<[email protected]>, relay=disorderlyorder-com02e.mail.protection.outlook.com[104.47.71.202]:>
Jul 10 22:06:27 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 233FA10136331: removed
Jul 10 22:07:26 vxmail.livedemo.vdevops.info postfix/pickup[740098]: 853A310136330: uid=0 from=<root>
Jul 10 22:07:26 vxmail.livedemo.vdevops.info postfix/cleanup[740106]: 853A310136330: message-id=<[email protected]>
Jul 10 22:07:26 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 853A310136330: from=<[email protected]>, size=910, nrcpt=1 (queue active)
Jul 10 22:07:27 vxmail.livedemo.vdevops.info postfix/smtp[740108]: 853A310136330: to=<[email protected]>, orig_to=<root>, relay=disorderlyorder-com02e.mail.protection.outlook.com>
Jul 10 22:07:27 vxmail.livedemo.vdevops.info postfix/cleanup[740106]: 2F6B810136331: message-id=<[email protected]>
Jul 10 22:07:27 vxmail.livedemo.vdevops.info postfix/bounce[740109]: 853A310136330: sender non-delivery notification: 2F6B810136331
Jul 10 22:07:27 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 2F6B810136331: from=<>, size=3626, nrcpt=1 (queue active)
Jul 10 22:07:27 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 853A310136330: removed
Jul 10 22:07:27 vxmail.livedemo.vdevops.info postfix/smtp[740108]: 2F6B810136331: to=<[email protected]>, relay=disorderlyorder-com02e.mail.protection.outlook.com[104.47.71.202]:>
Jul 10 22:07:27 vxmail.livedemo.vdevops.info postfix/qmgr[740099]: 2F6B810136331: removed
我还尝试为 root 用户创建到有效电子邮件地址的映射。它不起作用,因为我仍然可以在 journalctl 中看到发件人为 [email protected]。这就是我所做的。
将以下行添加到 /etc/postfix/main.cf:
smtp_generic_maps = hash:/etc/postfix/generic
将所需的电子邮件地址别名添加到 /etc/postfix/generic:
root [email protected]
创建哈希文件并重新加载后缀:
postmap /etc/postfix/generic
service postfix reload
在阅读邮件服务器日志时,您需要注意提到的队列 ID:没有它们,您将无法跟踪每个日志行是关于哪条消息的。
队列管理器正在处理一条 ID 为 27A0D10136330 的排队消息,显然是由 root 用户发送的。
它被中继到 104.47.71.202,这是与 MX 记录中的名称关联的两个 IP 地址之一。
最后的未配对
>
表示此日志行上有更多内容,但已被窗口边缘切断。这是不幸的,因为该行的末尾将包含中继主机报告的状态,了解这一点很重要。(您系统中的
journalctl
/版本systemd
显然less -FRSXMK
用作其寻呼机。该S
选项负责这种断行行为。您可能可以在查看日志时使用左右箭头键来查看其余的长行。如果您 - 像我一样 - 不喜欢这种行为,请添加
export SYSTEMD_LESS=FRXMK
到您的~/.bashrc
或其他合适的 shell 启动脚本以禁用它,并让长行被换行。)不幸的是,这并没有成功:中继主机显然拒绝了该消息,并且正在为消息 ID 27A0D1013633 生成一封未送达通知电子邮件。未送达通知邮件的新消息 ID 为 F0E0510136331。
队列管理器开始处理未送达通知...
...并从队列中删除原始消息 27A0D10136330。由于中继主机显然报告了永久性致命错误,因此等待和重试将无济于事。这就是该消息的结尾。
然后,未送达通知消息被中继到 104.47.71.138,这是与您的 MX 记录中的名称关联的第二个 IP 地址。再次,
>
指示中继尝试的状态正在被切断。由于消息 F0E0510136331 已经是错误报告电子邮件,因此其传递中的任何失败都不会导致生成另一个错误报告(以避免由配置错误产生的 2 级、3 级等级错误消息的无尽风暴)。
然后,此模式会在您的所有邮件发送尝试中重复。
要弄清楚出了什么问题,您确实需要那些长日志行末尾的状态代码,理想情况下还需要退回消息的内容。因此,当您进行故障排除时,请删除您放入的根别名
/etc/postfix/generic
,然后重新制作哈希映射文件。然后退回邮件应该开始收集到/var/mail/root
,您可以使用任何能够访问本地 Unix 样式邮箱文件的邮件客户端读取它 - 甚至less /var/mail/root
在必要时也可以使用。基本邮件中继正常工作后,您可以重新添加别名。