Email
在郵件投遞過程中,MTA、MDA、POP/IMAP如何相互連接?
我已經閱讀了為什麼要使用 Dovecot 和 Postfix/Sendmail?,為什麼要同時使用 Dovecot 和 Postfix?,為什麼要同時使用 Dovecot 和 Postfix?這給出了一般的想法,但在這裡我正在尋找更精確的細節來了解電子郵件伺服器如何連接在一起。
假設我擁有
example.com
配置如下 DNS 的域:example.com MX mail.example.com mail.example.com A 1.2.3.4
並且安裝在我
postfix
的dovecot
IP 1.2.3.4 的 Debian 伺服器上。假設我發送了一封電子郵件:
- 來自我的 ISP 地址
johndoe@myisp.com
,來自我的本地電腦 Thunderbird- …到地址
johndoe@example.com
在此過程中將發生的不同聯繫的總體情況是什麼?
以下是否正確:
- 我的本地電腦連接到
smtp.myisp.com
(埠 25 或 587)- 我的 ISP 的 SMTP 伺服器(後綴?)查詢 DNS
example.com
並最終連接到mail.example.com
,即我自己的伺服器postfix
正在偵聽埠 25 或 587- 我的伺服器
postfix
將電子郵件保存在磁碟上(預設情況下在哪裡?)- 或
postfix
將電子郵件發送到dovecot
(他們如何連接在一起?)- 當最終我想
johndoe@example.com
用另一個 Thunderbird 帳戶獲取郵件時,電腦將在埠 110 或 995 (POP3) 上連接我的伺服器 1.2.3.4。?
在這種情況下,
postfix
是 MTA,dovecot
是 POP3/IMAP 伺服器,但什麼是 MDA/LDA(Delivery Agent)?
- 這取決於您的 SMTP 客戶端的設置方式,但總的來說這是正確的。
- 正確的。
- 讓我們談談與 qmail 兼容的郵件目錄,因為沒有人真正使用
/var/mail/username
UNIX 風格的郵箱(缺點太多,幾乎沒有任何優點)。電子郵件儲存在您指定 Maildir 的位置,預設情況下它是sudo postconf -e "home_mailbox = Maildir/"
- 預設情況下
postfix
不會向任何人或任何東西發送電子郵件,它只是使用內置的傳遞代理儲存它們。dovecot
AFAIK 之間和postfix
本身沒有交流。- 您連接到
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
。