郵件伺服器
郵件伺服器由多個組件組成。郵件傳送代理(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包。
ARC[編輯 | 編輯原始碼]
ARC 是一個實驗性標準,即 Authenticated Received Chain (ARC) 電子郵件驗證系統。它允許中間郵件伺服器(如郵件列表或轉發服務)簽署電子郵件的原始驗證結果。谷歌、微軟、ProtonMail、Fastmail 等公司都採用了 ARC 系統。
可用的 ARC 實現有 rspamd包 (作為 rspamd 模塊)和 OpenARC (獨立)。
測試[編輯 | 編輯原始碼]
有多個選項可幫助您測試 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。