創建MX記錄
今天在學習如何在DMZ中部署Edge Server時,裏面提到一個MX記錄的問題,感覺是一頭霧水,所以查了一中午資料(),現在對MX有了大致瞭解,對一些問題可能理解的不對,所以順便整理出來,希望能給我指正出來
MX(Mail Exchanger)記錄就是郵件交換記錄
它指向一個郵件服務器,用於電子郵件系統發郵件時根據 收信人的地址後綴來定位郵件服務器。個人的理解就是:例如,當我用[email protected]這個用戶要發一封信給 [email protected] ,這封郵件肯定要先送到mydomain這個域的郵箱服務器(假設這個服務器叫:mail.mydomain.com)上,設定服務器策略允許,郵件發送到了mail.mydomain.com上了,現在服務器需要把郵件投遞給remotedomain.com這個域裏的郵箱服務器(假設叫mail.remotedomain.com),但是mail.mydomain.com怎麼知道該怎麼投遞呢?這時mail.mydomain.com通過DNS查找remotedomain.com這個域名的MX記錄,如果MX記錄存在, 用戶計算機就將郵件發送到MX記錄所指定的郵件服務器上。
檢查MX記錄是否存在的方法
進行DNS查詢的一個非常有用的工具是nslookup,至於這個工具,我也在學習中,也沒怎麼用過, 這兒只說怎麼查詢MX記錄:見圖,有三條記錄
裏面有MX preference=10 ,這個數字10就是MX的優先級,數值越低,優先級越高,
郵件交換(MX,Mail Exchange)記錄用於指出某個DNS區域中的郵件服務器的主機名(A記錄),它相當於一個指針,因此在創建MX記錄之前,你必須已經爲郵件服務器創建了A記錄;你可以針對相同的DNS域配置多個MX記錄,但是郵件服務器優先級數值越低的MX記錄具有越高的優先級。 首先了解一下郵件的傳送過程,例如我現在通過[email protected]這個郵箱向[email protected]郵箱發送郵件,那麼完整的郵件傳送過程如下:
1、郵件客戶端[email protected]連接到isacn.org域的郵件服務器mail.isacn.org(當然,連接的形式是多樣化的,可以使用SMTP,也可以使用Web Mail等),然後告訴mail.isacn.org,說有一封郵件要發送至[email protected];如果mail.isacn.org允許這種行爲,那麼,郵件客戶端[email protected]將完整的郵件信息發送給mail.isacn.org,此時,郵件客戶端[email protected]將會提示用戶郵件發送成功,注意,這僅僅代表從本地到你的郵件服務器發送成功,並不代表對方成功接收到你發送的郵件。
2、mail.isacn.org向自己的DNS服務器發起MX記錄查詢請求,查詢目的郵件域winsvr.org的MX記錄:
1、郵件客戶端[email protected]連接到isacn.org域的郵件服務器mail.isacn.org(當然,連接的形式是多樣化的,可以使用SMTP,也可以使用Web Mail等),然後告訴mail.isacn.org,說有一封郵件要發送至[email protected];如果mail.isacn.org允許這種行爲,那麼,郵件客戶端[email protected]將完整的郵件信息發送給mail.isacn.org,此時,郵件客戶端[email protected]將會提示用戶郵件發送成功,注意,這僅僅代表從本地到你的郵件服務器發送成功,並不代表對方成功接收到你發送的郵件。
2、mail.isacn.org向自己的DNS服務器發起MX記錄查詢請求,查詢目的郵件域winsvr.org的MX記錄:
· 如果查詢到單個MX記錄指向某個郵件服務器主機,例如MX記錄指向郵件服務器的主機mail.winsvr.org,則連接此郵件服務器;
· 如果具有多個MX記錄指向不同的郵件服務器主機,則按照優先級順序從高到低進行連接,直到連接成功爲止;
· 如果沒有查詢到MX記錄,根據郵件服務器配置的不同,mail.isacn.org的行爲可以分爲以下兩種:
· 終止郵件發送,返回給用戶郵件發送失敗信息;
· 查詢郵件域名(在此是winsvr.org)的A記錄,然後連接對應的主機。這就是爲什麼有時就算沒有MX記錄也能接收到郵件的原因,但是,這不是標準的行爲,並且只有部分郵件服務器支持這種行爲。
3、mail.isacn.org連接對應的郵件服務器,例如mail.winsvr.org,然後發送郵件信息。如果連接不成功,mail.isacn.org會按照一定的時間間隔進行重試,直到某個時間週期爲止(通常爲1天),此時,如果郵件仍然發送不成功,郵件服務器將終止郵件發送並向發送郵件的用戶報告郵件發送失敗,而有些比較高級的郵件服務器支持在一定時間週期內(例如30分鐘)郵件發送不成功就報告用戶;如果連接成功但是被對方郵件服務器因爲某種原因拒絕,例如認爲mail.isacn.org是垃圾郵件服務器或者發送到的郵箱不存在等等,那麼mail.isacn.org會立即向發送郵件的用戶報告郵件發送失敗並告知原因;如果連接成功並且郵件發送成功,mail.isacn.org通常不會再次通知發送郵件的用戶。因此,如果要想確認對方成功收到你發送的郵件,你可以通過以下方式進行:
· 要求已讀回執;這是推薦使用的方式,可以確認對方已經打開過郵件;
· 查看郵件服務器日誌;只能表示你發送的郵件成功到達對方郵件服務器,但不能代表對方已經閱讀郵件;
· 等待1天后(或更長)沒有郵件發送失敗的提示;僅在無法使用上述方式時使用,只能表示你發送的郵件應該成功的到達了對方郵件服務器,但不能代表對方已經閱讀郵件;
這個Lab沒做過,附件裏有怎麼做的