Postfix
Postfix/Amavis : 單獨發送群消息,如果一個收件人失敗也不失敗
背景:
我們有一個線上商店,它使用 SMTP 伺服器發送消息。當客戶下訂單時,系統會將確認發送到客戶的地址 (A),並將副本發送到註冊在同一 SMTP 伺服器中的其他兩個帳戶(B 和 C)。
問題:
如果客戶輸入了錯誤的電子郵件地址(例如:
tom@gmail.co
<- 請注意它應該是com
),它會退回所有組,並且 (B) 或 (C) 都不會收到消息。日誌:
Apr 25 10:12:37 smtp_server postfix/smtpd[8153]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 450 4.1.2 <tom@gmail.co>: Recipient address rejected: Domain not found; from=<system@orders.example.com> to=<tom@gmail.co> proto=ESMTP helo=<localhost> Apr 25 10:12:37 smtp_server amavis[12654]: (12654-06) (!)mail_via_smtp: NOTICE: aborting SMTP session, Bail out, DATA accepted but tempfailed recips, not a LMTP input at (eval 134) line 979. Apr 25 10:12:37 smtp_server amavis[12654]: (12654-06) (!)FWD from <system@orders.example.com> -> <tom@gmail.co>,<backup@example.com>,BODY=7BIT 451 4.5.0 From MTA(smtp:[127.0.0.1]:10025) during fwd-data-chkpnt (Bail out, DATA accepted but tempfailed recips, not a LMTP input at (eval 134) line 979.): id=12654-06 Apr 25 10:12:37 smtp_server amavis[12654]: (12654-06) Blocked MTA-BLOCKED {TempFailedOpenRelay}, [111.222.111.222]:41916 [111.222.111.222] <system@orders.example.com> -> <tom@gmail.co>,<backup@example.com>, Queue-ID: 4DA411806E13C, Message-ID: <cf7e32ff-1b33-9672-808a-0edfe7ede5f4@aju-cil.com>, mail_id: DZSKWfuau0Pu, Hits: 0.8, size: 745, 3627 ms Apr 25 10:12:37 smtp_server postfix/smtp[31968]: 4DA411806E13C: to=<tom@gmail.co>, relay=127.0.0.1[127.0.0.1]:10024, delay=3.8, delays=0.17/0/0/3.6, dsn=4.1.2, status=deferred (host 127.0.0.1[127.0.0.1] said: 450 4.1.2 id=12654-06 - Temporary MTA failure on relaying, from MTA(smtp:[127.0.0.1]:10025): 450 4.1.2 <tom@gmail.co>: Recipient address rejected: Domain not found (in reply to end of DATA command))
預期的:
無論(A)地址是否錯誤,(B)或(C)都應該收到電子郵件。
筆記:
如果我使用 TO、CC 或 BCC 從我的個人電腦向這些帳戶發送電子郵件,也會發生同樣的情況。所以我得出結論,可以在郵件伺服器上做一些事情。
postfix 或 amavis 中是否有任何設置阻止這種情況發生或我應該添加以使其工作?
我有完全相同的問題。我能夠通過在我的smtpd_recipient_restrictions中的****reject_unknown_recipient_domain前面添加一個warn_if_reject來解決