郵件 Email 與 DNS 的關係
作者: cross 日期: 2009-02-02 18:26
Mail 之間的傳遞,比方說我要寄一封信給 cross@ssorc.tw,我的 mail server 設定是透過 xxx.tw 去寄的,
xxx.tw 會先查出 cross@ssorc.tw 所屬的MX 名稱,比方說是 mail.ssorc.tw,再來 xxx.tw 會再查出 mail.ssorc.tw 的 A 記錄 IP 是什麼,
接著 xxx.tw 就可以把信件傳遞到 mail.ssorc.tw 的 IP 位址主機。
有 MX 就是送到 mail.ssorc.tw 主機,那假如 cross@ssorc.tw 沒有 MX 呢,xxx.tw 會直接查 ssorc.tw 的 A 記錄 IP 位址主機,再投遞過去,
所以沒有 MX 信也是可以送的,只要查的到 A 記錄 IP 位址,但此時就不保證信能如你預期的送到目的了,也不能說沒有 MX 就不能保證,你確認信有到就好了。
不過 DNS 設定還是要有 MX 的,這才是正統設法。有另一項用意是有些 mail server 會檢查 MX,來防 SPAM。
我們也常看到會有多筆 MX 記錄,比方說:
ssorc.tw. IN MX 10 mx1.ssorc.tw.
ssorc.tw. IN MX 20 mx2.ssorc.tw.
ssorc.tw. IN MX 30 mx3.ssorc.tw.
ssorc.tw 有 mx1、mx2、mx3 三個 mail server,mx1是主要的 mail server,mx2及mx3是備援用的,
而 10、20、30 是優先設定,愈小愈優先。
比方說 mx1 掛了,信就由 mx2 接收。有一種情況是,mx2 會等待 mx1 好了,就會把信再傳給 mx1 了,
mx2 是不會把信給 mx3 的 (優先比自已小的),因為要排除 loop。
不過也不需要等待啦,我的想法既然有了 mx1、mx2、mx3,這三台的功能就可以只是接收,收到了可以傳到真正作信箱的主機。
對於多個 MX 的情況我還需要實作經驗。
以上是復習了 Oreilly 的 postfix - The Definitive Guide 的備記。
上一篇
返回
下一篇
標籤:




MySQL與DNS及resolv.conf的關系 (2011-02-26 09:58)
DNS的CNAME/DNAME傻傻分不清楚 (2009-06-25 12:11)
PowerDNS DNS 伺服器 (2009-01-20 10:22)
檢測 DNS 弱點 (2008-09-18 19:50)
DNS 如何連作查詢 (2008-06-10 10:52)
[DNS問題]使用非本身的domain作 ns server (2008-05-05 19:28)
類似 dnsstuff 的 DNS 檢測 (2008-04-30 14:26)
DNS 中文域名,什麼是 punycode (2008-02-05 14:13)
Domain新收費標準 (2007-09-12 10:39)