邮件服务器
邮件服务器由多个组件组成。邮件传送代理(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。