邮件可达性与发送
Nimbopanel 为你的客户运行一整套邮件栈(Postfix、Dovecot、OpenDKIM)。一旦你的 DNS 设置好,接收 邮件就能工作。向外部世界发送 则在几乎每一台廉价 VPS 上都需要多做一步——这是人们最常卡住的部分,因此值得弄明白。
接收开箱即用
一旦你添加了邮件 DNS 记录(见下文),你的服务器就会接收发往你所托管域名的邮件、存储它,并通过安全的 IMAP(993 端口)和 webmail 提供它。接收 无需其他任何东西。
在你的 DNS 托管处发布这些记录(Nimbopanel 会在每个账户的区域中自动生成它们——把这些值复制到 Cloudflare / 你的注册商):
| 类型 | 名称 | 值 |
|---|---|---|
| MX | @ |
mail.yourdomain.com(优先级 10) |
| TXT | @ |
v=spf1 mx a:mail.yourdomain.com ~all(SPF) |
| TXT | _dmarc |
v=DMARC1; p=none; rua=mailto:postmaster@yourdomain.com |
| TXT | <selector>._domainkey |
面板邮件工具中显示的 DKIM 公钥 |
您自己的域名(面板本身用来发信的域名:收据、提醒、付款说明邮件)通常没有托管账户。打开 系统 → 邮件送达率,点击 发布邮件记录:面板会把这些记录写入自己的 DNS 区域并一步启用 DKIM 签名。如果该域名的 DNS 托管在别处,同一个按钮会显示需要在那里添加的确切值。
首先:搞清楚你到底需不需要中继
投递到收件人的邮件服务器始终使用 25 端口——那是 SMTP 标准,不是一个设置——而许多服务商会封锁它的出站以阻止垃圾邮件。它 在服务商的网络上,而不是你的服务器上,因此你自己关不掉它,即便以 root 身份也不行。当它被封锁时,消息会在队列里躺上几天然后退回,这看起来恰好像 “已发送,但从未送达”。
面板会测量这一点,而不是假设它。 打开管理端的 System 页面并阅读 Outgoing mail 卡片。它会说以下四种情况之一:
| 卡片显示 | 它意味着 |
|---|---|
| port 25 is open | 这台服务器可以直接投递。中继是可选的——只有当你想要一家投递服务的信誉而不是这台服务器的 IP 时才设置一个。 |
| sent through a relay | 已配置并正在使用一个中继。 |
| This server cannot deliver email to the internet | 25 端口被封锁。发往外部地址的一切都会退回。请按下面设置一个中继。 |
| Could not determine whether port 25 works | 检查本身没能完成。阅读那行详情;不要把这当作 “没问题”。 |
你无需去主动找它。当服务器无法投递时,面板每一页的顶部都会出现一个横幅,带有一个 Set up a relay 按钮——因为从面板内部看,一次被封锁的发送和一次成功的发送看起来完全一样,而没有人会去打开一个自己毫无理由怀疑的设置卡片。
这个判定是在 IPv4 上作出的,因为服务商的过滤器就在那里。一台双栈服务器可以通过 IPv6 触及某个邮件主机,同时实际上完全无法投递,而这恰恰是这项检查存在的意义所在——避免那种虚假的 “健康” 读数。
不要因为你服务商的名声就断定它封锁了它。2026 年 8 月在一台 Contabo 服务器上测量,25 端口是开放的——那个长期以来声称他们封锁它的说法,在那台机器上并不成立。请阅读卡片。
如果它被封锁了
有两种绕过它的办法:
- 请你的服务商解封 25 端口 —— 有些会解封,在你的账户存在一段时间之后,或者你开一张工单说明你运行一台邮件服务器之后。如果他们允许,这是最好的,并把它与一个 自定义 rDNS/PTR 搭配(见 服务商说明)。但许多服务商不会很快解除它。
- 使用一个 SMTP 中继 —— 邮件通过一家有信誉的服务商在 587 端口(它 没有 被封锁)从信誉良好的 IP 发出。这是推荐的、自助的路径——它今天就能用,无需等你的服务商,而且通常比从一台廉价 VPS IP 直接发送 投递效果更好。
设置一个中继(推荐)
1. 挑一个中继服务商 并创建一个账户:
| 服务商 | 免费额度 | 备注 |
|---|---|---|
| Brevo | 300 封/天,无需绑卡 | 最容易上手 |
| SendGrid | 100 封/天 | 简单的 SMTP |
| Amazon SES | 按量付费(规模化时最便宜) | 需要域名验证 + 退出沙盒 |
用量提示: 事务型中继本意是用于 你的 邮件。如果你要中继 众多客户 的大量邮件,请使用一家允许这样做的服务商(例如正确设置的 SES),或者把 25 端口解封。
2. 从服务商的仪表盘获取 SMTP 凭据 —— 在 SMTP 标签页(不是 “API keys” 标签页):
- SMTP 服务器(例如
smtp-relay.brevo.com) - 端口 587
- Login(这是服务商显示的一个特定 SMTP 登录名——通常 不是 你的账户邮箱)
- SMTP key / password
如果你的服务商有一个 “authorized IPs” 安全设置,请把你的 服务器 IP 加进去,否则 SMTP 认证会被拒绝。
3. 在面板里输入它们。 同一个 Outgoing mail 卡片上就有表单。从 Relay provider 下拉框中挑选你的服务商——Brevo、SendGrid、Mailgun、Amazon SES、Gmail / Google Workspace,或 Another server I own——主机、端口和 SPF 值会自动填入,同时还会附上一条关于该服务商期望什么作为用户名的说明。(SendGrid 的用户名字面上就是单词 apikey;Gmail 需要一个 App Password,而不是账户密码。)
然后按 Test & save relay。它会在保存任何东西 之前 对中继进行认证。如果中继拒绝了凭据,你会被告知,并且什么都不会改变——你不会落到一个从未成功过的已保存中继上。
关于密码的两点:它会被直接交给邮件服务器,绝不存入面板的数据库,因此它无法被读回,而且你在每次更改时都必须重新输入它。Turn relay off 会再次把它移除。
这一切都无需 root 或文本编辑器。
让邮件落进收件箱(而非垃圾邮件)
把邮件 发出去 是第一步;把它送进 收件箱 需要收件方(Gmail、Outlook)能够验证的认证:
- SPF —— 通过中继发送的邮件是从中继的 IP 离开的,因此中继必须在你的 SPF 记录中被点名。保存一个中继会替你重写每一个所托管域名的 SPF 记录——这就是表单上 SPF include 字段的用途,它会根据你选择的服务商预先填好。这是手动配置中继时最常被漏掉的一步,也是决定被中继的邮件是否受信任的那一步。
- DKIM —— Nimbopanel 会自动用它自己的 DKIM 密钥为你的域名签名,并发布该记录。如果你的中继还要求你在它的仪表盘里验证域名,就把它给你的 DKIM 记录一并加上。
- DMARC —— Nimbopanel 会为每个域名发布一条安全的
p=noneDMARC 记录;你之后可以把它收紧。
当 SPF、DKIM 和 DMARC 全部通过时,你客户的邮件就受信任并落进收件箱。一封一路成功送达的消息会在邮件日志中显示 status=sent,而一个真实收件人的邮件头会读到 dkim=pass spf=pass dmarc=pass。
相关: 指向你的域名(DNS) · 服务商说明 · 故障排查。