邮件服务器

来自 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

参见[编辑 | 编辑源代码]