2010-11-30 79 views
1

我可能錯過了一個關於郵件傳輸如何工作以實現它的理解。用C#瞭解MX記錄

我想實現一個SMTP服務器,它接收來自客戶端的電子郵件消息,然後它會查找該域的收件人MX記錄,以便將其發送到那裏。

我不完全理解的是接下來會發生什麼,它是否通過IP連接到該域?到哪個端口?

我看的例子是Gmail,它的MX服務器是gmail-smtp-in.l.google.com,我的程序是否需要在什麼端口連接到這個域?

謝謝

回答

3

閱讀:http://www.ietf.org/rfc/rfc5321.txt

答案很簡單:

當傳送電子郵件。查找有問題的域名的mx記錄。

如果域名存在MX嘗試通過端口25連接到它們,並按RFC上面提供郵件。您按照所列優先順序連接到它們。較低的數字有更高的偏好。如果有等價的MX,您可以隨意選擇一個。如果那個人沒有回答,在鏈條上漲之前嘗試使用相同的Weight MX。如果沒有mxs回答,然後排隊郵件,然後再試一次。

如果沒有MX存在嘗試傳遞到知名端口25(SMTP)上的'A'記錄。

但實際上,閱讀RFC和熟悉他們,它將幫助了很多..

而且有點關係。如果要在互聯網上使用SMTP服務器,請確保您有能力接受提交端口(587)上的SMTP認證電子郵件以及標準端口25.由於大量網絡在端口上具有出站塊25用於垃圾郵件消減目的..

+0

O.k.但是,郵件服務器日誌記錄到Gmail郵件服務器轉發郵件和使用Gmail作爲其SMTP服務器需要用gmail識別自身(使用gmail作爲示例)的區別是什麼。 – 2010-11-30 21:21:08

0

SMTP在端口25上運行。此CodeProject article顯示了一個使用C#發送/接收郵件的簡單本地示例。