Postfix

Postfix/Amavis : 單獨發送群消息,如果一個收件人失敗也不失敗

  • April 2, 2020

背景:

我們有一個線上商店,它使用 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 &lt;tom@gmail.co&gt;: Recipient address rejected: Domain not found; from=&lt;system@orders.example.com&gt; to=&lt;tom@gmail.co&gt; proto=ESMTP helo=&lt;localhost&gt;
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 &lt;system@orders.example.com&gt; -&gt; &lt;tom@gmail.co&gt;,&lt;backup@example.com&gt;,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] &lt;system@orders.example.com&gt; -&gt; &lt;tom@gmail.co&gt;,&lt;backup@example.com&gt;, Queue-ID: 4DA411806E13C, Message-ID: &lt;cf7e32ff-1b33-9672-808a-0edfe7ede5f4@aju-cil.com&gt;, mail_id: DZSKWfuau0Pu, Hits: 0.8, size: 745, 3627 ms
Apr 25 10:12:37 smtp_server postfix/smtp[31968]: 4DA411806E13C: to=&lt;tom@gmail.co&gt;, 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 &lt;tom@gmail.co&gt;: 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來解決

引用自:https://serverfault.com/questions/964495