跳至內容

郵件伺服器

出自 Arch Linux 中文维基

郵件伺服器由多個組件組成。郵件傳送代理(MTA)通過 SMTP 接收和發送電子郵件。收到和接收的郵件會被傳遞給郵件投遞代理(MDA),後者會將郵件存儲在郵箱中(通常為 mboxMaildir 格式)。如果想讓用户使用電子郵件客户端(MUA)遠程訪問郵件,則需要運行 POP3 和/或 IMAP 伺服器。

軟件[編輯 | 編輯原始碼]

這篇文章的某些內容需要擴充。

原因:
  • 在某處添加 mailutils
  • 增加郵件列表軟件
  • 查找有關如何使用 Postfix 創建"簡單"郵件列表的文章或指南
  • 區分 POP3 和 IMAP 伺服器(Dovecot 等)與客户端(fdm 等)
(在 Talk:郵件伺服器 中討論)

下表列出了所有郵件伺服器及其支持的功能。

注意:在大多數情況下,本表中的任何一個程序都無法提供所需的全套支持;postfix 等 MTA 需要與 dovecot 等 MDA 搭配使用。
名稱 郵件傳送代理 郵件投遞代理 發送郵件 郵件列表 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
注意:
  • Implicit TLS 比 STARTTLS 更安全,因為後者容易受到 中間人攻擊。更多信息,請參閱 [2]RFC:8314
  • 上表包含了要使用的通用端口,但郵件伺服器可能會使用其他端口,請與郵件提供商確認端口是否正確。唯一不變的端口是 25 端口,中繼端口必須打開,否則郵件將無法通過特定伺服器進行中繼(不過有些軟件支持設置自定義中繼端口)。

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.

身份驗證[編輯 | 編輯原始碼]

本文或本章節可能需要合併到郵件伺服器#軟件

附註: 此部分可以與上面的郵件伺服器軟件列表合併。(在 Talk:郵件伺服器 中討論)


有多種電子郵件驗證技術。

Sender Policy Framework[編輯 | 編輯原始碼]

摘自 Wikipedia

Sender Policy Framework (SPF) 是一種電子郵件驗證協議,旨在通過提供一種機制,使接收郵件的郵件交換者能夠驗證來自某個域的傳入郵件是否來自該域管理員授權的 IP 地址,從而檢測和阻止電子郵件欺騙行為。

要允許其他郵件交換器驗證明顯從您的域名發送的郵件,您需要設置 DNS TXT 記錄,如 Wikipedia 文章所述(也有一個在線嚮導)。要使用 SPF 驗證收到的郵件,您需要將郵件傳輸代理配置為使用 SPF 實現。有多種 SPF 實現可供選擇: libspf2perl-mail-spfperl-mail-spf-query

SPF 驗證支持
Courier 是, 內置
Postfix
Sendmail 通過 Milterspfmilter-acmeAUR
Exim , 需要 libspf2
OpenSMTPD

通過以下網站,您可以驗證 SPF 記錄:

提示: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 實現有 OpenDKIMperl-mail-dkim

ARC[編輯 | 編輯原始碼]

ARC 是一個實驗性標準,即 Authenticated Received Chain (ARC) 電子郵件驗證系統。它允許中間郵件伺服器(如郵件列表或轉發服務)簽署電子郵件的原始驗證結果。谷歌、微軟、ProtonMail、Fastmail 等公司都採用了 ARC 系統。

可用的 ARC 實現有 rspamd (作為 rspamd 模塊)和 OpenARC (獨立)。

測試[編輯 | 編輯原始碼]

有多個選項可幫助您測試 DNS 記錄、傳送能力和加密支持。

專用工具[編輯 | 編輯原始碼]

專用網站[編輯 | 編輯原始碼]

有幾個方便的網站可以幫助您進行測試。

提示與技巧[編輯 | 編輯原始碼]

移除電子郵件中的 IP 地址[編輯 | 編輯原始碼]

大多數郵件伺服器都可以通過配置從外發郵件中刪除用户的 IP 地址和用户代理

掃描電子郵件以發現病毒[編輯 | 編輯原始碼]

有關電子郵件防病毒掃描,請參閱ClamAV

垃圾過濾[編輯 | 編輯原始碼]

有關垃圾郵件的過濾,請參閱SpamAssassin

Webmail[編輯 | 編輯原始碼]

有關網絡郵件的設置,請參閱 RoundcubeSquirrelmail

參見[編輯 | 編輯原始碼]