用於遠端拒絕的隱私友好型 Postfix 退回郵件
處理遠端拒絕的退回消息的話題至少被提出了 3 次(1、2、3 ),看起來好像沒有真正的解決方案。不過,我想知道是否可以修改退回模板以不包含來自遠端伺服器的拒絕消息(其中包含有關我不希望發送給垃圾郵件發送者的最終收件人地址的資訊)。
提前感謝您的任何提示,Jan
PS。我在 Ubuntu 20.04 上找不到預設的退回模板(它不在 /etc/postfix 或其他任何地方)。如果沒有(預設)模板文件,如何創建 DSN?
您根本不會向“垃圾郵件發送者”發送退回郵件。實際上你不能,因為你不知道垃圾郵件發送者的真實身份以及將退回郵件發送到哪裡。“MAIL FROM”信封地址可能是偽造的;如果它是可傳遞的,則使用該地址的人是無辜的受害者。
如果您向他們發送“退回消息”,他們會感到驚訝,因為他們沒有向您發送任何內容,然後會生氣,因為您的退回消息現在是不請自來的消息。換句話說,通過嘗試“向垃圾郵件發送者發送退回郵件”,您自己就成了垃圾郵件發送者。這稱為反向散射。不要變成後向散射!
為無法進一步投遞的排隊郵件生成退回郵件。相反,您應該做的是調整退回行為,而不是將來自垃圾郵件發送者的任何消息排隊,因此您甚至不需要生成退回。為此,您必須儘早拒絕,這意味著使用隊列前郵件過濾,例如在實時 SMTP 會話期間發生的過濾,並且您通常在 RCPT 或 DATA 命令之後拒絕。
然後嘗試將郵件傳遞到您的伺服器的系統負責生成退回郵件。如果那是一個合法的伺服器,它通常會以某種方式與真正的發件人相關聯(例如,他們可能對發件人進行了身份驗證),因此他們將確保他們將退回郵件發送到 belogns 的位置;如果那是垃圾郵件發送者,那無論如何都不是您的問題。
這是 Postfix 預設嘗試做的事情(例如,閱讀LOCAL_RECIPIENT_README,它解釋了為什麼你必須及早拒絕未知的收件人,並警告你如果不這樣做就會成為反向散射),我覺得我有一個很好的理由來保持就是這樣。它有一個手冊。此外,正如那裡所說,milter可以給你類似的效果,我個人更喜歡 milter 方式。
Postfix 源中至少存在一個預設的退回模板。您的發行版可能已將其安裝在
/usr/share/postfix...
or/usr/share/doc/postfix...
中,也可能未安裝。更改模板的過程在手冊中也有描述。請注意,退回郵件必須包含完整的收件人資訊。退回郵件的目的是通知發件人,以便他們可以調試情況或在問題不在他們一方時採取其他措施,例如,將問題通知有問題的站點的郵政主管。為了成功,必須向他們提供所有相關的技術資訊,並且預設退回模板實際上具有最低要求集。所以你不應該減少那裡出現的資訊。我更改了我的伺服器上的退回模板,例如,將它們翻譯成本地語言並添加有關如何致電伺服器技術支持的資訊。這與隱私無關。