Email

使用後綴智能主機時處理退回的電子郵件

  • January 18, 2011

我正在執行一個高可用性集群,到目前為止,大多數事情都執行良好。我有兩台外部機器充當外發郵件主機(智能主機)。內部主機配置為通過這兩個面向外部的主機中繼所有電子郵件。

我的 smarthosts 的 main.cf 看起來像這樣:

myhostname = lb1.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = lb1.example.com, localhost
relayhost =
mynetworks = 127.0.0.0/8 10.1.248.0/24

我的內部主機的 main.cf 如下所示:

mynetworks = 127.0.0.0/8
myhostname = web1.example.com
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost = [10.1.248.3]
smtp_fallback_relay = [10.1.248.2]

lb1的內部IP是10.1.248.2,lb2的內部IP是10.1.248.3。

在外部主機上,root 和 www-data 的電子郵件通過 /etc/aliases 轉發到 support@example.com

使用 smarthost 設置的一個優點是垃圾郵件過濾器等可以連接回發送伺服器。所有電子郵件都可以正常發送,標題如下所示:

Received: from lb2.example.com ([198.51.100.3])
       by mx.google.com with ESMTP id y17si1571259icb.76.2011.01.13.18.20.32;
       Thu, 13 Jan 2011 18:20:32 -0800 (PST)
Received-SPF: neutral (google.com: 198.51.100.3 is neither permitted nor denied by best guess record for domain of root@db1.example.com) client-ip=198.51.100.3;
Received: from db1.example.com (unknown [10.1.248.20])
   by lb2.example.com (Postfix) with ESMTP id D364823C0BE
   for <support@example.com>; Thu, 13 Jan 2011 21:20:31 -0500 (EST)
Received: by db1.example.com (Postfix)
   id C9FA7760D6A; Thu, 13 Jan 2011 21:20:31 -0500 (EST)
Delivered-To: www-data@localhost
Received: by db1.example.com (Postfix, from userid 0)
   id C1632760D6C; Thu, 13 Jan 2011 21:20:31 -0500 (EST)

問題是退回/拒絕電子郵件。外部機器嘗試將電子郵件轉發回內部機器,例如 web1 上的 www-data 發送一封退回的電子郵件(例如使用者使用錯誤的電子郵件地址註冊)。

另一個複雜的問題是將 Google 郵件用於主 example.com 域。

代替在外部主機的 mydestination 中指定每個內部主機,有沒有更好的設置方法,請記住我無法為 example.com 調整觸摸 mx?

將發件人地址設置為可以接收電子郵件的地址。電子郵件將退回到發件人地址。發件人應始終是可以接收電子郵件的地址。查看 Postfix 文件中的標頭重寫選項。

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