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 的備記。

最後修改日期: 2009 年 02 月 02 日

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。