捐血一袋救人一命

2010年4月21日 星期三

公司郵件被當成廣告信的處理方式

當公司的郵件寄送出去被當成垃圾信時,
請先注意幾點:
1. DNS的設定

  •  MX Record是否正確
  •  A Record是否正確(Mail Server不可以用CNAME)
  •  PTR Record是否正確(是否已向ISP申請設定,中華電信客戶請直接上網填寫申請)
  •  SPF Record是否正確(Sender Policy Framework / Sender ID)

2. 防火牆或IP分享器的NAT設定是否正確,或者說,Mail Server上網的IP,是否與DNS相關設定相符?
3. 確認你的郵件伺服器不是 Open Relay

很多人喜歡把MX Record設成如下的設定

ABC.COM.TW        MX    10    ABC.COM.TW

ABC.COM.TW        A                 123.234.123.234

這是錯誤的設定

正確的設定是

[網域名稱]       MX         10        [郵件主機名稱]

例如:

abc.com.tw.    mx     10     mail.abc.com.tw.

mail.abc.com.tw.     a        123.234.123.234

至於SPF Record,網路上有很多Wizard(精靈),可以協助你產生正確的設定值。

例如:

http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/default.aspx

http://www.openspf.org/

註:SPF與Microsoft Sender ID是不同的東西,只是設定幾乎不相衝突,所以你就隨便找個精靈來設定吧。

再來就是防火牆NAT的部份,當公司有多個Public IP時,防火牆的Public IP與DNS宣告的Mail Server Public IP可能不一樣。

但是防火牆預設會使用防火牆本身的Public IP做NAT,導致郵件主機寄信出去時,也是用防火牆的IP。

這樣DNS宣告與實際寄信的IP兜不攏,就會被當成廣告信。

在Fortigate 或是 Netscreen 防火牆上都有MIP的相關設定,這樣就可以強制指定Mail Server上網時,使用DNS宣告的IP來傳送信件!

如果還是被當成廣告信,再去看看是不是被列入黑名單!

其實一般只要接到退信,退信內容都會說明退信的原因。這是IT人員最好下手的地方。

最後就是檢查自家的 Mail Server 是不是設成 Open Relay (開放轉寄,也就是說可以讓任何人將信寄到你家伺服器上,再轉寄給非你家的帳號)

以下幾個網址都可以幫你測試

www.abuse.net/relay.html

image

你只要在 Address to Test 欄輸入你的郵件主機 IP 或 FQDN,按下「Test for Relay」即可。

www.spamhelp.org/shopenrelay/

image

你只要在 Hostname or IP Address那欄輸入你的郵件主機 IP 或 FQDN,按下「Test」即可。

www.checkor.com/

image

使用上都大同小異,輸入你的郵件主機 IP 或 FQDN,按下「Check My Mailserver」即可。

如果發現你的郵件主機是 Open Relay,再來討論怎麼解決吧!因為太多種郵件主機,講不完啦!

2 意見:

David 提到...

我有一個問題,為什麼開放中繼測試服務不起作用?您提供的鏈接除https://www.abuse.net/relay.html之外均無法正常使用。這是否意味著不需要進行開放中繼測試,還是在設置
SMTP test
服務器後進行SMTP服務器配置測試?

湯包 提到...

這篇文章是我很久以前寫的,線在很多都不適用了
例如現在很多都用 DKIM 或是 DMARC
此外,有些網站服務也關掉了