知识库
通过您自己的 SMTP 服务器发送电子邮件
连接您自己的 SMTP server:使用哪个端口以及为什么不用 25 端口,您必须自行发布的 SPF、DKIM、DMARC 和反向 DNS 记录,以及为什么我们拒绝回退到未加密的连接。
如果您运行自己的邮件基础设施,或者您的邮件服务商不在我们的直接列表中,请使用此选项——几乎所有邮件服务商都支持 SMTP。
⚠️ 如果您的服务商是 Mailgun、SendGrid、Postmark、Amazon SES 或 Resend,请改用其专属指南。当出现问题时,这些连接可以提供更好的错误信息,因为我们可以读取服务商实际返回的说明,而不单单是 SMTP 状态码。
您需要准备的内容
来自您的邮件服务器运维方的四项内容:
- 主机 — 例如
smtp.yourprovider.com - 端口 —
587、465或2525 - 用户名 和 密码
关于端口选择
587 是启用 STARTTLS 的提交端口,也是您应当使用的端口。连接最初以明文建立,并在发送任何内容之前升级为 TLS。
465 是隐式 TLS — 从第一个字节开始即被加密。同样非常好;某些服务商更倾向于此。
2525 是一些主机提供的一种非官方替代方案,因为少数网络会屏蔽 587 端口。仅在您的服务商明确要求时使用。
⛔ 此处接受 25 端口,但它几乎从不是正确的选择。 这是邮件服务器之间互相通信所使用的端口,而不是应用程序用于提交邮件的端口。它在大多数网络中被屏蔽,通常没有身份验证,并且在能够使用的地方往往是未加密的。
⛔⛔ 我们不会通过未加密的连接发送邮件。 如果您保持使用 STARTTLS 开启(您确实应该如此),并且您的服务器拒绝升级,发送操作将会失败,而不是以明文继续传输。这是刻意设计的:您客户的密码重置链接将通过这些邮件传输,而无人察觉的降级是最糟糕的故障,因为邮件仍然会送达。
请先设置您的 DNS
您的服务商不会像托管服务那样自动为您完成此操作。您需要在您用于发送邮件的域名上配置以下内容:
SPF — 一条用于授权您的服务器地址的 TXT 记录: v=spf1 ip4:203.0.113.10 -all,或者 v=spf1 a:smtp.yourprovider.com -all。如果您已经拥有一条 SPF 记录,请对其进行编辑;在一个域名上设置两条 SPF 记录会导致 SPF 验证彻底失败。
DKIM — 您的邮件服务器对传出邮件进行签名,并且您需要在 <selector>._domainkey.yourdomain.com 处发布相对应的公钥。在 Postfix 上,这通常是 OpenDKIM;您的服务商会告诉您 selector。
DMARC — 一条位于 _dmarc.yourdomain.com 的 TXT 记录,在您检查并确认 SPF 和 DKIM 均通过验证之前,初始值设为 v=DMARC1; p=none;。
并在 Zinn® 中建立连接
在您的控制面板中打开邮件发送:
- 服务商 — SMTP 服务器
- 从此域名发送 —
mail.yourdomain.com(必须是域名,而非具体的邮件地址) - SMTP 主机、端口、用户名、密码
- 使用 STARTTLS — 开启,除非您使用的是 465 端口
⭐ 为此专门创建一个独立的邮箱或提交用户,而不是重复使用某个人的登录账户。当某人离职且其密码更改时,您客户的通知不应因此停止发送。
发送测试并输入验证码
点击发送测试邮件至另一个域名上的收件箱,从中读取验证码,然后将其输入。
当遇到问题时
“邮件服务器拒绝了用户名或密码” — SMTP AUTH 验证失败。如果您的服务商在账户上启用了双重身份验证,您几乎肯定需要使用应用密码,而不是登录密码。
“无法连接到 主机:端口” — 端口被屏蔽、主机名错误,或者服务器未在该端口上侦听提交请求。从另一台机器运行 telnet smtp.yourprovider.com 587 可以帮您查明原因。
TLS 错误 — 您的服务器证书已过期、是自签名证书,或者与您输入的主机名不匹配。我们会对证书进行验证,绝不会跳过该检查;请修复证书。
“邮件服务器拒绝了收件人” — 您的服务器未配置为允许为此发件人中继邮件,这通常意味着经过身份验证的用户无权以您的发件域名身份发送邮件。
邮件已发出但全部落入垃圾箱 — 这是 DNS 的问题,而非 SMTP 的问题。请逐一排查上文提及的 SPF、DKIM、DMARC 以及反向 DNS,然后重新运行 mail-tester 检查。