Email

在郵件投遞過程中,MTA、MDA、POP/IMAP如何相互連接?

  • September 22, 2021

我已經閱讀了為什麼要使用 Dovecot 和 Postfix/Sendmail?,為什麼要同時使用 Dovecot 和 Postfix?,為什麼要同時使用 Dovecot 和 Postfix?這給出了一般的想法,但在這裡我正在尋找更精確的細節來了解電子郵件伺服器如何連接在一起。

假設我擁有example.com配置如下 DNS 的域:

example.com       MX     mail.example.com
mail.example.com  A      1.2.3.4

並且安裝在我postfixdovecotIP 1.2.3.4 的 Debian 伺服器上。

假設我發送了一封電子郵件:

  • 來自我的 ISP 地址johndoe@myisp.com,來自我的本地電腦 Thunderbird
  • …到地址johndoe@example.com

在此過程中將發生的不同聯繫的總體情況是什麼?

以下是否正確:

  1. 我的本地電腦連接到smtp.myisp.com(埠 25 或 587)
  2. 我的 ISP 的 SMTP 伺服器(後綴?)查詢 DNSexample.com並最終連接到mail.example.com,即我自己的伺服器postfix正在偵聽埠 25 或 587
  3. 我的伺服器postfix將電子郵件保存在磁碟上(預設情況下在哪裡?)
  4. postfix將電子郵件發送到dovecot(他們如何連接在一起?)
  5. 當最終我想johndoe@example.com用另一個 Thunderbird 帳戶獲取郵件時,電腦將在埠 110 或 995 (POP3) 上連接我的伺服器 1.2.3.4。

?

在這種情況下,postfix是 MTA,dovecot是 POP3/IMAP 伺服器,但什麼是 MDA/LDA(Delivery Agent)?

  1. 這取決於您的 SMTP 客戶端的設置方式,但總的來說這是正確的。
  2. 正確的。
  3. 讓我們談談與 qmail 兼容的郵件目錄,因為沒有人真正使用/var/mail/usernameUNIX 風格的郵箱(缺點太多,幾乎沒有任何優點)。電子郵件儲存在您指定 Maildir 的位置,預設情況下它是
sudo postconf -e "home_mailbox = Maildir/"
  1. 預設情況下postfix不會向任何人或任何東西發送電子郵件,它只是使用內置的傳遞代理儲存它們。dovecotAFAIK 之間和postfix本身沒有交流。
  2. 您連接到dovecot,它允許您使用上面指定的使用者 qmail-compatible maildir,例如
mail_location = maildir:~/Maildir

在這種情況下,postfix 是 MTA,dovecot 是 POP3/IMAP 伺服器,但是 MDA/LDA(Delivery Agent)是什麼?

再次後綴:http ://www.postfix.org/OVERVIEW.html : man 8 local

引用自:https://unix.stackexchange.com/questions/670099