![Postfix 不发送没有错误消息的电子邮件](https://linux22.com/image/776892/Postfix%20%E4%B8%8D%E5%8F%91%E9%80%81%E6%B2%A1%E6%9C%89%E9%94%99%E8%AF%AF%E6%B6%88%E6%81%AF%E7%9A%84%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6.png)
我有一位客户尝试使用 postfix 通过 SMTP 发送电子邮件。看起来 postfix 可以正确解析电子邮件属性,但在发送电子邮件之前,它会再次开始处理它。这种情况会无限循环。我已将 postfix 置于调试模式,并生成了一个日志文件,该文件看起来与我自己的系统生成的日志文件几乎完全相同,直到它重复解析电子邮件为止。
客户的日志结束:
postfix/smtpd[29586]: connection closed
postfix/smtpd[29586]: connection established
我的日志结尾:
postfix/smtpd[20539]: connection closed
postfix/smtp[20543]: 0D65814D: to=<[email protected]>, relay=10.2.253.96[10.2.253.96]:25, delay=0.17, delays=0.03/0.07/0/0.06, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as O)
postfix/qmgr[19812]: 0D65814D: removed
该main.cf
文件有
mydomain = localhost
alias_maps = hash:/etc/aliases
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myorigin = $mydomain
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8, [::1]/128
debug_peer_level = 2
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/local/man
sample_directory = /etc/postfix
readme_directory = no
virtual_mailbox_domains = sciencelogic.em7
virtual_mailbox_base = /var/mail
virtual_mailbox_maps = hash:/etc/postfix/silo.virtual-mailbox
virtual_uid_maps = hash:/etc/postfix/silo.virtual-uid
virtual_gid_maps = hash:/etc/postfix/silo.virtual-gid
mailbox_size_limit = 0
relayhost = authnz.proofpoint.com:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_password
smtpd_recipient_restrictions = permit_mynetworks
local_recipient_maps =
队列日志中没有关于电子邮件被拒绝的信息。运行mailq > mailqueue.txt
没有产生任何有意义的信息。我还让客户刷新队列postqueue -f
并重新启动 postfix,但没有任何帮助。
是什么原因导致 Postfix 重复解析电子邮件而不是发送它?
编辑:
该master.cf
文件指出(为节省空间,已缩短以删除所有注释掉的行):
smtp inet n - n - - smtpd -v
pickup unix n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
showq unix n - n - - showq
error unix - - n - - error
retry unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
编辑:
postqueue -p
生成:
[root@sc-sl02-lab01 ~]# postqueue -p
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
8687E226F6E* 936 Tue May 10 19:46:06 [email protected]
[email protected]
88630226F70* 935 Tue May 10 19:46:06 [email protected]
[email protected]
92456226F71* 933 Tue May 10 19:46:06 [email protected]
[email protected]
E0986226F74* 942 Tue May 10 19:46:06 [email protected]
[email protected]
EF72C36B12* 930 Tue May 10 19:46:06 [email protected]
[email protected]
F1631226F78* 930 Tue May 10 19:46:06 [email protected]
[email protected]
3DE91226F77* 3072 Tue May 10 19:46:11 MAILER-DAEMON
[email protected]
sudo postcat -qhbe 3DE91226F77
:
-- 40 Kbytes in 17 Requests.
[root@sc-sl02-lab01 ~]# sudo postcat -qhbe 3DE91226F77
*** ENVELOPE RECORDS active/3DE91226F77 ***
message_size: 3072 221 1 0 3072
message_arrival_time: Tue May 10 19:46:11 2022
create_time: Tue May 10 19:46:11 2022
named_attribute: log_message_origin=local
named_attribute: trace_flags=0
sender:
original_recipient: [email protected]
recipient: [email protected]
*** MESSAGE CONTENTS active/3DE91226F77 ***
Received: by sc-sl02-lab01.localhost (Postfix)
id 3DE91226F77; Tue, 10 May 2022 19:46:11 +0000 (UTC)
Date: Tue, 10 May 2022 19:46:11 +0000 (UTC)
From: [email protected] (Mail Delivery System)
Subject: Undelivered Mail Returned to Sender
To: [email protected]
Auto-Submitted: auto-replied
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
boundary="0A32B226F7D.1652211971/sc-sl02-lab01.localhost"
Message-Id: <[email protected]>
This is a MIME-encapsulated message.
--0A32B226F7D.1652211971/sc-sl02-lab01.localhost
Content-Description: Notification
Content-Type: text/plain; charset=us-ascii
This is the mail system at host sc-sl02-lab01.localhost.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<[email protected]>: host
authnz.prod-c15a-awsuse.proofpoint.com[205.220.189.150] said: 530 5.7.0
Authentication required (in reply to MAIL FROM command)
--0A32B226F7D.1652211971/sc-sl02-lab01.localhost
Content-Description: Delivery report
Content-Type: message/delivery-status
Reporting-MTA: dns; sc-sl02-lab01.localhost
X-Postfix-Queue-ID: 0A32B226F7D
X-Postfix-Sender: rfc822; [email protected]
Arrival-Date: Tue, 10 May 2022 19:46:07 +0000 (UTC)
Final-Recipient: rfc822; [email protected]
Original-Recipient: rfc822;[email protected]
Action: failed
Status: 5.7.0
Remote-MTA: dns; authnz.prod-c15a-awsuse.proofpoint.com
Diagnostic-Code: smtp; 530 5.7.0 Authentication required
--0A32B226F7D.1652211971/sc-sl02-lab01.localhost
Content-Description: Undelivered Message
Content-Type: message/rfc822
Return-Path: <[email protected]>
Received: from [172.16.0.1] (localhost [IPv6:::1])
by sc-sl02-lab01.localhost (Postfix) with ESMTP id 0A32B226F7D
for <[email protected]>; Tue, 10 May 2022 19:46:07 +0000 (UTC)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Subject: MAJOR Event: Load average alert,
(Load-15) state: (True) is running above the threshold of (None)
From: EM7 LAB Event Notifier<[email protected]>
To:
CC:
X-Priority: 3
Date: Tue, 10 May 2022 19:46:07 +0000
Message-Id: <[email protected]>
Severity: MAJOR
First Occurred: 2022-05-09 11:48:18 UTC
Last Occurred: 2022-05-10 19:44:22 UTC
Occurrences: 954
Source: Dynamic
Organization: ScienceLogic Org
Device: sc-sl01-db01
Message: Load average alert, (Load-15) state: (True) is running above the threshold of (None)
Sent by Automation Action: Send Email External
View this event at: http://em7.mydomain.com/em7/index.em7?exec=events&q_type=aid&q_arg=3988100&q_sev=1&q_sort=0&q_oper=0
--0A32B226F7D.1652211971/sc-sl02-lab01.localhost--
*** HEADER EXTRACTED active/3DE91226F77 ***
*** MESSAGE FILE END active/3DE91226F77 ***
[root@sc-sl02-lab01 ~]# sudo postcat -qhbe 14CBC226F76
*** ENVELOPE RECORDS active/14CBC226F76 ***
message_size: 2962 220 1 0 2962
message_arrival_time: Tue May 10 19:46:10 2022
create_time: Tue May 10 19:46:10 2022
named_attribute: log_message_origin=local
named_attribute: trace_flags=0
sender:
original_recipient: [email protected]
recipient: [email protected]
*** MESSAGE CONTENTS active/14CBC226F76 ***
Received: by sc-sl02-lab01.localhost (Postfix)
id 14CBC226F76; Tue, 10 May 2022 19:46:10 +0000 (UTC)
Date: Tue, 10 May 2022 19:46:10 +0000 (UTC)
From: [email protected] (Mail Delivery System)
Subject: Undelivered Mail Returned to Sender
To: [email protected]
Auto-Submitted: auto-replied
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
boundary="000EC226F79.1652211970/sc-sl02-lab01.localhost"
Message-Id: <[email protected]>
This is a MIME-encapsulated message.
--000EC226F79.1652211970/sc-sl02-lab01.localhost
Content-Description: Notification
Content-Type: text/plain; charset=us-ascii
This is the mail system at host sc-sl02-lab01.localhost.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<[email protected]>: host
authnz.prod-c15a-awsuse.proofpoint.com[205.220.189.192] said: 530 5.7.0
Authentication required (in reply to MAIL FROM command)
--000EC226F79.1652211970/sc-sl02-lab01.localhost
Content-Description: Delivery report
Content-Type: message/delivery-status
Reporting-MTA: dns; sc-sl02-lab01.localhost
X-Postfix-Queue-ID: 000EC226F79
X-Postfix-Sender: rfc822; [email protected]
Arrival-Date: Tue, 10 May 2022 19:46:06 +0000 (UTC)
Final-Recipient: rfc822; [email protected]
Original-Recipient: rfc822;[email protected]
Action: failed
Status: 5.7.0
Remote-MTA: dns; authnz.prod-c15a-awsuse.proofpoint.com
Diagnostic-Code: smtp; 530 5.7.0 Authentication required
--000EC226F79.1652211970/sc-sl02-lab01.localhost
Content-Description: Undelivered Message
Content-Type: message/rfc822
Return-Path: <[email protected]>
Received: from [172.16.0.1] (localhost [IPv6:::1])
by sc-sl02-lab01.localhost (Postfix) with ESMTP id 000EC226F79
for <[email protected]>; Tue, 10 May 2022 19:46:06 +0000 (UTC)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Subject: MAJOR Event: Device Service Risk is High: 75
From: EM7 LAB Event Notifier<[email protected]>
To:
CC:
X-Priority: 3
Date: Tue, 10 May 2022 19:46:06 +0000
Message-Id: <[email protected]>
Severity: MAJOR
First Occurred: 2022-05-09 01:00:16 UTC
Last Occurred: 2022-05-10 19:45:18 UTC
Occurrences: 172
Source: Internal
Organization: System
Device: test device service
Message: Device Service Risk is High: 75
Sent by Automation Action: Send Email External
View this event at: http://em7.mydomain.com/em7/index.em7?exec=events&q_type=aid&q_arg=3987958&q_sev=1&q_sort=0&q_oper=0
--000EC226F79.1652211970/sc-sl02-lab01.localhost--
*** HEADER EXTRACTED active/14CBC226F76 ***
*** MESSAGE FILE END active/14CBC226F76 ***
答案1
authnz.prod-c15a-awsuse.proofpoint.com[205.220.189.150] 说:530 5.7.0 需要身份验证(回复 MAIL FROM 命令)
这听起来很像您没有对您配置的中继进行身份验证。
relayhost = authnz.proofpoint.com:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/smtp_password
检查 的内容/etc/postfix/smtp_password
。具体来说,postfix 指示你匹配中继主机值和地图查找键之间的格式。
如果您在中继主机目标中指定非默认 TCP 端口(例如“:submission”或“:587”),则必须在 smtp_sasl_password_maps 文件中使用相同的格式。
如果事实证明这确实是该密码映射的问题,请不要忘记通过发出以下命令来更新索引缓存postmap /etc/postfix/smtp_password
- 并考虑应该如何处理队列中尚未传递的消息,您可能希望通过其他方式而不是发送(可能很多)未送达通知来更新受影响的收件人和发件人。