郵件伺服器由多個組件組成。郵件傳送代理(MTA)通過 SMTP 接收和發送電子郵件。收到和接收的郵件會被傳遞給郵件投遞代理(MDA),後者會將郵件存儲在郵箱中(通常為 mbox 或 Maildir 格式)。如果想讓用戶使用電子郵件客戶端(MUA)遠程訪問郵件,則需要運行 POP3 和/或 IMAP 伺服器。
軟體
下表列出了所有郵件伺服器及其支持的功能。
名稱 | 郵件傳送代理 | 郵件投遞代理 | 發送郵件 | 郵件列表 | JMAP | 提示 | ||
---|---|---|---|---|---|---|---|---|
發送 | 接收 | POP3 | IMAP | |||||
dma | 是 | 是 | – | – | 是 | – | – | 不支持電子郵件域名(email domains);MTA 接收受限(請參閱使用 Google SMTP). |
Exim | 是 | 是 | – | – | 是 | – | – | – |
OpenSMTPD | 是 | 是 | – | – | 是 | – | – | – |
Postfix | 是 | 是 | – | – | 是 | 部分,通過別名功能 | – | – |
Courier | 是 | 是 | 是 | 是 | 否 | 是 | – | 包含一個網絡客戶端 |
Cyrus IMAP | – | – | 是 | 是 | – | – | 是 | 可通過 cyrus-imapdAUR 安裝 |
Dovecot | – | – | 是 | 是 | – | – | 否, 已請求 | – |
UW IMAP | 是 ,使用 c-clientAUR | – | 是 | 是 | 是 ,c-clientAUR 具有相同功能 | – | – | 項目已被放棄 |
msmtp | 是 | 否 | – | – | 是 ,msmtp 具有相同功能 | – | – | – |
Sendmail | 是 | 否 | – | – | 是 | – | – | Sendmail 實現已過時 |
sSMTP | 是 | 否 | – | – | 是 | – | – | – |
fdm | – | – | 是 | 是 | – | – | – | 還可以從標準輸入(stdin)中獲取郵件 |
Procmail | – | – | 部分,參見模塊 [1] | 否 | – | – | – | 僅通過標準輸入(stdin)讀取郵件,上游未維護 |
Maildrop | – | – | 否 | 否 | – | – | – | 僅支持通過標準輸入(stdin)接收電子郵件 |
Stalwart | 是 | 是 | 是 | 是 | – | – | 是 | – |
- Sendmail 可執行程序是一種命令行工具,可通過 SMTP 發送電子郵件。
- "發送 "和 "接收 "欄指的是通過 SMTP 發送郵件和通過 SMTP 接收郵件的功能。
- "郵件列表"軟體允許創建郵件列表,參見郵件列表。
埠
用途 | 埠 | 協議 | 加密 |
---|---|---|---|
接受來自其他 MTA 的郵件。 | 25 | SMTP | STARTTLS |
接受 MUA 的 submissions。 | 587 | SMTP | STARTTLS |
465 | SMTPS | implicit TLS | |
允許 MUA 訪問郵件。 | 110 | POP3 | STARTTLS |
995 | POP3S | Implicit TLS | |
143 | IMAP | STARTTLS | |
993 | IMAPS | implicit TLS |
MX record
Hosting a mail server requires a domain name with an MX record pointing to the domain name of your mail transfer agent. The domain name used as the value of the MX record must map to at least one address record (A, AAAA) and must not have a CNAME record to conform with RFC 2181, otherwise you may not get mail from some mail servers. Configuring DNS records is usually done from the configuration interface of your domain name registrar.
身份驗證
有多種電子郵件驗證技術。
Sender Policy Framework
摘自 Wikipedia;
- Sender Policy Framework (SPF) 是一種電子郵件驗證協議,旨在通過提供一種機制,使接收郵件的郵件交換者能夠驗證來自某個域的傳入郵件是否來自該域管理員授權的 IP 地址,從而檢測和阻止電子郵件欺騙行為。
要允許其他郵件交換器驗證明顯從您的域名發送的郵件,您需要設置 DNS TXT 記錄,如 Wikipedia 文章所述(也有一個在線嚮導)。要使用 SPF 驗證收到的郵件,您需要將郵件傳輸代理配置為使用 SPF 實現。有多種 SPF 實現可供選擇: libspf2包、perl-mail-spf包 和 perl-mail-spf-query包。
Courier | 是, 內置 |
---|---|
Postfix | 是 |
Sendmail | 通過 Milter 與 spfmilter-acmeAUR |
Exim | 是, 需要 libspf2包 |
OpenSMTPD | 否 |
通過以下網站,您可以驗證 SPF 記錄:
v=spf1 -all
這樣的策略可使任何執行 SPF 的郵件伺服器拒絕來自您域名的電子郵件,從而防止濫用。Sender Rewriting Scheme
The Sender Rewriting Scheme (SRS) is a secure scheme to allow forwardable bounces for server-side forwarded emails without breaking the Sender Policy Framework.
關於 Postfix,請參閱Postfix#Sender Rewriting Scheme。
DKIM
DomainKeys Identified Mail(DKIM)是一種域名級電子郵件驗證方法,旨在檢測電子郵件欺騙行為。
可用的 DKIM 實現有 OpenDKIM 和 perl-mail-dkim包。
測試
有多個選項可幫助您測試 DNS 記錄、傳送能力和加密支持。
專用工具
專用網站
有幾個方便的網站可以幫助您進行測試。
- https://mxtoolbox.com/
- https://ismyemailworking.com/
- https://www.mail-tester.com/ (僅 3 次免費使用)
- https://www.checktls.com/
- https://pingability.com/zoneinfo.jsp
提示與技巧
移除電子郵件中的 IP 地址
大多數郵件伺服器都可以通過配置從外發郵件中刪除用戶的 IP 地址和用戶代理。
掃描電子郵件以發現病毒
有關電子郵件防病毒掃描,請參閱ClamAV。
垃圾過濾
有關垃圾郵件的過濾,請參閱SpamAssassin。
Webmail
有關網絡郵件的設置,請參閱 Roundcube 和 Squirrelmail。