Domain-Name-System

DNS、MX 和 SMTP。郵件儲存

  • September 12, 2016

我對一切如何運作有基本的了解。但我想更好地理解並深入研究。

我將如何理解所有這些東西。考慮我們正在寄信給hello@world.com

  1. 當我們首先發送信件時,DNS 解析world.com域。
  2. 它詢問.DNS 伺服器,而不是重定向到.com.DNS 區域伺服器,而不是重定向到NS負責儲存world.com域資訊的伺服器/伺服器。NS我們可以在域控制面板中更改(重定向到另一個)伺服器。
  3. NS在找到負責提供有關此域的資訊的適當伺服器後,它會檢索有關MX記錄的數據。
  4. MX使用SMTP協議將郵件發送到記錄中指定的 SMTP 伺服器
  5. 因為我們沒有使用POP3協議,所以將信保存在SMTP負責維護我們的域(MX 記錄)的伺服器上。
  6. 所以SMTP伺服器備份我們在伺服器上的所有郵件,我們可以使用IMAP協議從任何地方訪問我們的郵件。

我對嗎 ?大多數時間MX記錄都指定了託管郵件伺服器。

所以我的主要問題是

如果我將MX我的域記錄更改為另一台伺服器,我會失去所有郵件歷史記錄嗎?或者可以將郵件轉移到新伺服器?如果我再次切換回舊SMTP伺服器,我會在那裡找到我所有的郵件還是會被刪除?

也許我完全錯了,但我會很感激任何幫助。

  1. MX(SMTP 伺服器又名MTA)可以配置為某些郵件域的目標或中繼。
  2. 如果它被配置為中繼,消息將被發送到另一個可以是目標或中繼的 MTA。等等。這裡的MX只是一個入口點。消息可以路由到不同的目的地、複製、終止等。這就是複雜的郵件基礎設施內部的樣子。一步一步的消息將被路由到主機,配置為目的地。否則,經過一些步驟後,消息將被拒絕為不可投遞。
  3. 如果主機配置為目標,則消息儲存在本地。該過程由Local Delivery Agent- LDA 執行。所有 SMTP 伺服器都具有一些 LDA 功能,因此它們至少可以按mailbox格式儲存消息。Mailbox只是一個帶有消息的普通文件。或者,消息可以儲存在maildir或什至數據庫中,例如mysqlpostgres
  4. 可以由Mail User AgentMUAmutt或類似mail實用程序從本地儲存中獲取消息。但是,如果您的消息儲存在遠端主機上,您需要一些服務,例如POP3IMAP通過網路獲取消息。

所以消息儲存在主機上不是因為 MX 上沒有 POP3。這是因為 MX 被配置為域的目標並且 LDA 配置正確。否則郵件將返回給發件人並通知:無法投遞。

如果我將我的域的 MX 記錄更改為另一台伺服器,我會失去所有郵件歷史記錄嗎?或者可以將郵件轉移到新伺服器?

常見的方法是將您的 MX 配置為中繼,將所有郵件路由到伺服器,配置為目標。您可以隨意更改 MXses,只要它們中繼到同一目標伺服器即可。但您也可以將您的郵件儲存物理移動到其他伺服器,只要它只是普通文件。

sendmail, postfix, exim,等流行的電子郵件軟體功能強大qmaildovecot足以建構您想要的任何配置。但這需要強大的知識和技能,因為您很容易成為垃圾郵件發送者的受害者,他們可以將配置不良的伺服器用作垃圾郵件槍。

引用自:https://serverfault.com/questions/802513