Postfix:将中继主机设置为 Office 365

Postfix:将中继主机设置为 Office 365

我正在尝试将电子邮件转发到 Office 365 并配置了 postfix,如下所示:

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 日志。我可以看到它正在发送电子邮件至[电子邮件受保护]但我还没有向这个地址发送任何电子邮件。我只发送过电子邮件至[电子邮件受保护]

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

我还尝试为根用户创建到有效电子邮件地址的映射。它不起作用,因为我仍然可以看到发件人[电子邮件受保护]在journalctl中。这就是我所做的。

将以下行添加到 /etc/postfix/main.cf 中:

smtp_generic_maps = hash:/etc/postfix/generic

将所需的电子邮件地址别名添加到 /etc/postfix/generic:

root [email protected]

创建哈希文件并重新加载后缀:

postmap /etc/postfix/generic
service postfix reload

答案1

阅读邮件服务器日志时,您需要注意提到的队列 ID:没有它们,您将无法跟踪每个日志行涉及哪条消息。

后缀/qmgr[740099]:27A0D10136330:[电子邮件受保护],大小=488,nrcpt=1(队列活动)

队列管理器正在处理 ID 为 27A0D10136330 的排队消息,该消息显然是由 root 用户发送的。

后缀/smtp[740108]:27A0D10136330:[电子邮件受保护],中继=disorderlyorder-com02e.mail.protection.outlook.com[104.47.71.202]:>

它被转发到 104.47.71.202,这是与 MX 记录中的名称关联的两个 IP 地址之一。

末尾的未配对>表示此日志行上还有更多内容,但它被窗口边缘切断。这是不幸的,因为线路的末尾将包含中继主机报告的状态,而了解这一点很重要。

(您系统中的journalctl/版本显然用作其寻呼机。该选项负责这种断行行为。您可能可以在查看日志时使用向右和向左箭头键来查看其余的长行。systemdless -FRSXMKS

如果您(像我一样)不喜欢这种行为,请添加export SYSTEMD_LESS=FRXMK到您的~/.bashrc或其他合适的 shell 启动脚本中以禁用它并让长行换行。)

后缀/清理[740106]:F0E0510136331:message-id=20220710120440.F0E0510136331@mail.disorderly-order.com

后缀/退回[740109]:27A0D10136330:发件人未送达通知:F0E0510136331

不幸的是,这并没有成功:中继主机显然拒绝了该邮件,并且正在为邮件 ID 27A0D1013633 生成未送达通知电子邮件。未送达通知电子邮件的新邮件 ID 为 F0E0510136331。

postfix/qmgr[740099]: F0E0510136331: from=<>, size=3299, nrcpt=1(队列活动)

队列管理器开始处理未送达通知...

postfix/qmgr[740099]:27A0D10136330:已删除

...并从队列中删除原始消息 27A0D10136330。由于中继主机显然报告了永久性致命错误,因此等待和重试无济于事。这就是该消息的结尾。

后缀/smtp[740108]:F0E0510136331:[电子邮件受保护],中继=disorderlyorder-com02e.mail.protection.outlook.com[104.47.71.138]:>

然后,未送达通知消息将转发到 104.47.71.138,这是与 MX 记录中的名称关联的第二个 IP 地址。再次>指示中继尝试的状态正在被切断。

postfix/qmgr[740099]:F0E0510136331:已删除

由于消息 F0E0510136331 已经是错误报告电子邮件,因此其传递中的任何失败都不会导致生成另一个错误报告(以避免配置错误生成的无休止的二级、三级等错误消息风暴)。

然后,您的所有邮件发送尝试都会重复此模式。

要弄清楚出了什么问题,你真的需要那些长日志行末尾的状态代码,最好还有退回邮件的内容。因此,在排除故障时,请删除放入的根别名/etc/postfix/generic,并重新创建哈希映射文件。然后退回邮件应该开始收集到 中/var/mail/root,您可以使用任何能够访问本地 Unix 风格邮箱文件的邮件客户端来读取该邮件 - 或者甚至在必要时使用less /var/mail/root

一旦基本邮件中继工作正常,您就可以重新添加别名。

相关内容