邮件服务器
邮件服务器由多个组件组成。一个邮件传输代理 (MTA) 通过SMTP接收和发送电子邮件。接收并接受的邮件随后会被传递给一个邮件投递代理 (MDA),后者会将邮件存储在邮箱中(通常为mbox或Maildir格式)。如果您希望用户能够使用电子邮件客户端 (MUA) 远程访问他们的邮件,您需要运行一个POP3和/或IMAP服务器。
软件
下面是一个包含所有邮件服务器及其支持功能的表格。
| 名称 | 邮件传输代理 | 邮件投递代理 | Sendmail | 邮件列表 | JMAP | 备注 | ||
|---|---|---|---|---|---|---|---|---|
| 发送 | 接收 | POP3 | IMAP | |||||
| dma | 是 | 是 | – | – | 是 | – | – | 不支持邮件域;MTA接收功能有限(参见使用Google SMTP) |
| Exim | 是 | 是 | – | – | 是 | – | – | – |
| OpenSMTPD | 是 | 是 | – | – | 是 | – | – | – |
| Postfix | 是 | 是 | – | – | 是 | 部分支持,通过别名功能 | – | – |
| Courier | 是 | 是 | 是 | 是 | 否 | 是 | – | 包含Web客户端 |
| 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的提交。 | 587 | SMTP | STARTTLS |
| 465 | SMTPS | 隐式TLS | |
| 允许MUA访问邮件。 | 110 | POP3 | STARTTLS |
| 995 | POP3S | 隐式TLS | |
| 143 | IMAP | STARTTLS | |
| 993 | IMAPS | 隐式TLS |
MX记录
托管邮件服务器需要一个域名,并有一个MX记录指向您的邮件传输代理的域名。用作MX记录值的域名必须映射到至少一个地址记录(A, AAAA),并且不能有CNAME记录,以符合RFC 2181,否则您可能无法收到某些邮件服务器的邮件。DNS记录的配置通常通过您的域名注册商的配置界面完成。
身份认证
有各种电子邮件身份验证技术。
发件人策略框架
来自维基百科
- 发件人策略框架(SPF)是一个电子邮件验证协议,旨在通过提供一种机制,允许接收邮件交换器验证来自某个域的入站邮件确实来自该域管理员授权的IP地址,从而检测和阻止电子邮件欺骗。
要允许其他邮件交换器验证显然来自您域名的邮件,您需要设置一个DNS TXT记录,具体说明请参阅维基百科文章(也有一个在线向导)。要使用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的邮件服务器拒绝来自您域名的电子邮件,从而防止滥用。发件人重写方案
发件人重写方案(SRS)是一种安全方案,允许在服务器端转发电子邮件时进行可转发的退回,而不会破坏发件人策略框架。
对于Postfix,请参见Postfix#Sender Rewriting Scheme。
DKIM
域名密钥识别邮件(DKIM)是一种域级电子邮件身份验证方法,旨在检测电子邮件欺骗。
可用的DKIM实现有OpenDKIM和perl-mail-dkim。
ARC
ARC是一种实验性标准,已认证接收链(ARC)电子邮件身份验证系统。它允许中间邮件服务器,如邮件列表或转发服务,对电子邮件的原始身份验证结果进行签名。ARC由Google、Microsoft、ProtonMail、Fastmail等公司实现。
可用的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
- https://www.mailhardener.com/tools/
技巧与提示
从邮件中移除IP地址
大多数邮件服务器都可以配置为从传出邮件中剥离用户的IP地址和用户代理。
扫描邮件中的病毒
有关电子邮件防病毒扫描,请参阅ClamAV。
垃圾邮件过滤
有关过滤垃圾邮件,请参阅SpamAssassin。
Webmail
有关设置Webmail,请参阅Roundcube和Squirrelmail。