Email

帶有中繼主機的後綴 - 中繼訪問被拒絕反彈

  • November 10, 2013

我已經設置了一個 Postfix 郵件伺服器,外發郵件是通過需要身份驗證的 smarthost/relayhost 發送的。這很好用,內部客戶端可以通過這個中繼主機發送給外國收件人。

但是,當本地不存在的使用者的外部郵件到達伺服器時,postfix 會嘗試向發件人發送未送達通知。此郵件顯然也是通過中繼主機發送的,但它失敗並出現錯誤554 5.7.1 : Relay access denied

這會記錄到 mail.log:

Nov  9 10:26:42 mail postfix/local[5051]: 6568CC1383: to=<test@mydomain.com>, relay=local, delay=0.13, delays=0.02/0.02/0/0.09, dsn=5.1.1, status=bounced (unknown user: "test")
Nov  9 10:26:42 mail postfix/cleanup[5045]: 85DF9BFECD: message-id=<20131109092642.85DF9BFECD@mail.mydomain.com>
Nov  9 10:26:42 mail postfix/qmgr[4912]: 85DF9BFECD: from=<>, size=3066, nrcpt=1 (queue active)
Nov  9 10:26:42 mail postfix/bounce[5052]: 6568CC1383: sender non-delivery notification: 85DF9BFECD
Nov  9 10:26:42 mail postfix/qmgr[4912]: 6568CC1383: removed
Nov  9 10:26:43 mail postfix/smtp[5053]: 85DF9BFECD: to=<xyz@somebody.com>, relay=mail.provider.com[168.84.25.111]:587, delay=0.48, delays=0.02/0.01/0.26/0.18, dsn=5.7.1, status=bounced (host mail.provider.com[168.84.25.111] said: 554 5.7.1 <xyz@somebody.com>: Relay access denied (in reply to RCPT TO command))
Nov  9 10:26:43 mail postfix/qmgr[4912]: 85DF9BFECD: removed 

根據這個錯誤,我想postfix在發送這些反彈時沒有登錄relayhost。為什麼?正常的外發郵件工作得很好。

這就是我的 main.cf 的樣子:http://pastebin.com/Uu1Dryxy 當然 /etc/postfix/sasl_password 包含中繼主機的正確憑據。

提前致謝!

退回郵件故意沒有發件人地址。這是為了防止電子郵件循環。無論有意或無意,發送沒有地址的電子郵件已被用於發送垃圾郵件。如果您的中繼要求您在發送之前提供憑據以驗證發件人,它將無法驗證發件人是否退回郵件。

您可以通過在接受之前退回郵件來避免接受郵件後無法發送退回郵件的問題。收到後退回郵件是反向散射垃圾郵件的來源。垃圾郵件具有偽造的源地址是很常見的。通過在退回郵件之前接受郵件,您將向偽造的地址發送垃圾郵件,而不是拒絕傳入的郵件。

避免反向散射垃圾郵件的一種方法是使用 BATV(退回地址標籤驗證)。這會向返迴路徑添加一個有符號值。只有合法的退回郵件才應具有此簽名,因此可以忽略來自 Internet 的其他退回郵件。

編輯:悄悄地將電子郵件發送到無效地址已不再罕見。這可以防止接收系統在發送反向散射垃圾郵件時被歸類為垃圾郵件源。Postfix 預設接受所有收件人,因此容易產生反向散射垃圾郵件。如果可能,我建議啟用收件人驗證。我更喜歡 Exim,它預設拒絕未知收件人的郵件。

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