为什么这封电子邮件没有通过 Postfix/Dovecot/Procmail 递送?

为什么这封电子邮件没有通过 Postfix/Dovecot/Procmail 递送?

当天,发件人在此之后又发送了四封电子邮件。所有邮件均正常送达。
以下是未送达收件人的电子邮件对应的邮件日志行。

3 月 22 日 06:36:19 主机 postfix/smtpd[10898]: 从 mail-eopbgr20115.outbound.protection.outlook.com[40.107.XX] 连接

3 月 22 日 06:36:20 主机 postfix/smtpd[10898]: 从 mail-eopbgr20115.outbound.protection.outlook.com[40.107.XX] 设置 TLS 连接

3 月 22 日 06:36:20 主机 postfix/smtpd[10898]: 从 mail-eopbgr20115.outbound.protection.outlook.com[40.107.XX] 建立匿名 TLS 连接:TLSv1.2 使用密码 AES256-SHA256(256/256 位)

3月22日 06:36:20 主持人postgres[2424]: 操作=通过,原因=客户端白名单, 客户端名称 = mail-eopbgr20115.outbound.protection.outlook.com,客户端地址 = 40.107.XX,发件人 = sender@sender,[电子邮件保护]

3 月 22 日 06:36:20 主机 postfix/smtpd[10898]: D6D441CA09A0: 客户端 = mail-eopbgr20115.outbound.protection.outlook.com[40.107.XX]

3 月 22 日 06:36:21 主机 postfix/cleanup[12463]: D6D441CA09A0: 消息 ID=<VI1PR01MB4271639DA076BEED2736C9BBA3430@VI1PR01MB4271.eurprd01.prod.exchangelabs.com>

3 月 22 日 06:36:21 主机 postfix/cleanup[12463]: D6D441CA09A0: 丢弃:标头 x-microsoft-antispam-message-info:? 5rSUbtg9a+8v7qvflcvdu8ODNNDgy6QCo+jk8ASeowDSfUDlGtYCfDanPZJMgeVPyAkrokaTR/GTVXYWmsdxNjKqfXtMFFV5oeBuVMt16oe4C6HjA720zoIc55J2J/Mgzz9DS6vIKQ3BUcbQjjryRvMopmcnkloE8rBr 来自 mail-eopbgr20115.outbound.protection.outlook.com[40.107.XX];来自=< sender@sender> 至=<[电子邮件保护]> proto=ESMTP helo=< EUR02-VE1-obe.outbound.protection.outlook.com>

3 月 22 日 06:36:21 主机 postfix/smtpd[10898]: 断开与 mail-eopbgr20115.outbound.protection.outlook.com[40.107.XX] 的连接

Spamassassin 正在运行,但 Procmail 设置为正常传送。

这些行也来自其中一个已交付邮件的邮件日志。

3 月 22 日 12:44:03 主机 postfix/smtpd[2197]: 从 mail-eopbgr00132.outbound.protection.outlook.com[40.107.XX] 连接

3 月 22 日 12:44:03 主机 postfix/smtpd[2197]: 从 mail-eopbgr00132.outbound.protection.outlook.com[40.107.XX] 设置 TLS 连接

3 月 22 日 12:44:03 主机 postfix/smtpd[2197]: 从 mail-eopbgr00132.outbound.protection.outlook.com[40.107.XX] 建立匿名 TLS 连接:TLSv1.2 使用密码 AES256-SHA256(256/256 位)

3 月 22 日 12:44:03 主机 postgrey[2424]:操作 = pass,原因 = 客户端白名单,客户端名称 = mail-eopbgr00132.outbound.protection.outlook.com,客户端地址 = 40.107.XX,发件人 = sender@sender,收件人 = rec@rec

3 月 22 日 12:44:03 主机 postfix/smtpd[2197]: BB5741CA09A0: 客户端 = mail-eopbgr00132.outbound.protection.outlook.com[40.107.XX]

3 月 22 日 12:44:03 主机 postfix/cleanup[3184]: BB5741CA09A0: 消息 ID=<VI1PR01MB4271B2A2EA25E7D9246BB185A3430@VI1PR01MB4271.eurprd01.prod.exchangelabs.com>

3 月 22 日 12:44:04 主机 opendkim[2109]: BB5741CA09A0: mail-eopbgr00132.outbound.protection.outlook.com [40.107.XX] 非内部

3 月 22 日 12:44:04 主机 opendkim[2109]: BB5741CA09A0: 未经身份验证

3 月 22 日 12:44:04 主机 opendkim[2109]: BB5741CA09A0: 无法解析身份验证结果:标头字段

3 月 22 日 12:44:04 主机 opendkim[2109]: BB5741CA09A0: DKIM 验证成功

3 月 22 日 12:44:04 主机 postfix/qmgr[2515]: BB5741CA09A0: from=< sender@sender>, size=12328, nrcpt=1 (队列活动)

3 月 22 日 12:44:04 主机 postfix/pickup[1223]: 362C71CA0B4D: uid=584 from=< rec>

3 月 22 日 12:44:04 主机 postfix/cleanup[3184]: 362C71CA0B4D: 消息 ID=<VI1PR01MB4271B2A2EA25E7D9246BB185A3430@VI1PR01MB4271.eurprd01.prod.exchangelabs.com>

3 月 22 日 12:44:04 主机 postfix/local[3190]: BB5741CA09A0: to=< rec@XXhost>, orig_to=< rec@rec>, reply=local, delay=0.54, delays=0.46/0/0/0.08, dsn=2.0.0, status=sent (已传送至命令: /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME)

3 月 22 日 12:44:04 主机 postfix/qmgr[2515]: BB5741CA09A0: 已删除

3 月 22 日 12:44:04 主机 opendkim[2109]: 362C71CA0B4D: 没有与“sender@sender”匹配的签名表

3 月 22 日 12:44:04 主机 opendkim[2109]: 362C71CA0B4D: 无法解析身份验证结果:标头字段

3 月 22 日 12:44:04 主机 opendkim[2109]: 362C71CA0B4D: DKIM 验证成功

3 月 22 日 12:44:04 主机 postfix/smtpd[2197]: 警告:network_biopair_interop:向网络写入 69 个字节时出错:对等方重置连接

3 月 22 日 12:44:04 主机 postfix/smtpd[2197]: 警告:network_biopair_interop:向网络写入 69 个字节时出错:管道损坏

3 月 22 日 12:44:04 主机 postfix/smtpd[2197]: 断开与 mail-eopbgr00132.outbound.protection.outlook.com[40.107.XX] 的连接

编辑(回答一些评论/问题)

Postfix 标头和正文检查不包含任何有关“Microsoft-antispam”或类似内容的内容,只有“/Republique du Benin/”和其他已知字符串才存在于垃圾邮件标头/正文中。

标头检查:在此处输入图片描述
身体检查:在此处输入图片描述

cat /path-to-Mar22-procmail.log | grep sender's name

输出其他 4 条已传递的消息,而不是3月22日 06:36:该用户的一个
procmai.rc 仅包含有关发件人姓名的转发指令

我了解 Microsoft 反垃圾邮件标头可能会导致该问题,但我不明白发生了什么。

编辑2:
查看发送和传递的第二封邮件的标题,其中还包含未在日志文件中明确记录的 MS 反垃圾邮件消息:

x-microsoft-反垃圾邮件消息信息:Dgz3XVK6DEMeeorg2JFa7q8+XuAbKdJSYQ7Q90u5ByPqwwuvuoBx7bfKh4rWYzkdgu4EYFwgk6idK2YswaKyN8uwCuqVh41lQWVja0GMMiyIA3F2r4h0kHmk+E6aIhMoju4h7mNl6/4KaDYx20AAplVJk99gFq6TEm6I7z4GIu8OngM6FkH6UQj/vF89sa2NkI4edRaMidxoXSujy6umqU Vl9qEn74mLttPfLxQkl4DDtV95Idt/hGAGuvYYzzkQc1LaxD/F9ICa6F3l6NHE1d9f2t0ZfAFa7tl3OGUJsMtHK5xL5X/vlWAcfdlqCsqOYIs0wJ+gCgjqYQ6GWZmmXIVAwQuyMwAtw7IxwItfod+bne1k9lMk0iZtooT8Kh6abJYGBemL9wGDtPL9JaArmau4h6rkAcjp2pSQmrD5o4o=

这比另一个要长得多。

答案1

我的猜测是您的“header_checks”正则表达式 /.icu/ 与完整 x-microsoft-antispam-message-info 标头中的某些内容匹配。Postfix 不会记录所有非常长的标头,而且由于您使用了通配符,因此这是一个非常松散的正则表达式。在我看来,这似乎是一种非常危险的模式,但您可以按照自己的邮件方式进行操作...

请注意,“x-microsoft-antispam-message-info”没有记录,但它几乎总是包含>300 或<100 个字符,并且大多数情况下是 428 个字符。

答案2

我看到的主要区别是,发送邮件的 Outlook 服务器为未能投递的邮件添加了一个标头“x-microsoft-antispam-message-info”。显然,出于某种原因,Outlook 将该邮件标记为可能的垃圾邮件。我会查看我的所有邮件配置,看看该标头是否会触发任何特殊处理。

相关内容