如何配置SMTP中继:一步一步
主机、端口、用户和密码、TLS、使用 swaks 和 openssl 进行测试、DKIM 以及 535/550/554 错误的解释。
如何配置SMTP中继:逐步指南
配置SMTP中继涉及到您应用中的四个参数:主机 mail.yourtrend.online,端口 587(STARTTLS)或 465(SSL/TLS),用户名是完整的邮箱地址,以及邮箱密码。然后您发布DKIM,使用 swaks 或 openssl进行发送测试,并查看服务器回复。以下是完整的步骤和常见错误。
步骤 1. 连接详情
在面板中添加一个域,创建一个邮箱并打开其设置。您将获得:
SMTP主机 : mail.yourtrend.online
SMTP端口 : 587(STARTTLS) | 465(隐式TLS)
用户名 : noreply@yourdomain.com
密码 : <邮箱密码>
认证 : TLS上的LOGIN / PLAIN
端口587适合几乎所有人,是默认推荐;如果您的库需要“从第一个字节”开始TLS,请使用465。端口25不用于提交。
步骤 2. 示例设置(WordPress / PHPMailer)
$mail->isSMTP();
$mail->Host = 'mail.yourtrend.online';
$mail->SMTPAuth = true;
$mail->Username = 'noreply@yourdomain.com';
$mail->Password = 'SECRET';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // 'tls'
$mail->Port = 587;
$mail->setFrom('noreply@yourdomain.com', 'YourBrand');
在WP Mail SMTP插件中输入相同的主机、端口、STARTTLS加密、用户名和密码。发件地址必须在您验证的域上,否则SPF和DKIM将无法对齐。
步骤 3. 使用swaks进行测试
swaks --server mail.yourtrend.online:587 --tls \
--auth LOGIN \
--auth-user noreply@yourdomain.com \
--auth-password 'SECRET' \
--from noreply@yourdomain.com \
--to you@gmail.com \
--header 'Subject: SMTP中继测试'
在对话框中查找 <- 235 认证成功(auth OK)和最终的 <- 250 OK id=...(消息已接受投递)。
步骤 4. 使用openssl检查TLS
确认端口响应并呈现证书:
# 在587上启动TLS
openssl s_client -starttls smtp -crlf \
-connect mail.yourtrend.online:587
# 在465上隐式TLS
openssl s_client -crlf -connect mail.yourtrend.online:465
握手后,您可以输入 EHLO test 并在回复中看到 250-AUTH LOGIN PLAIN 和 250-STARTTLS — 服务器已准备好接受经过身份验证的提交。
第5步。DKIM签名
YourTrend会自动使用邮件选择器对外发邮件进行签名。请在您域名的DNS中发布此TXT记录,以便收件人验证签名:
类型 主机 值
TXT mail._domainkey v=DKIM1; k=rsa; p=MIGfMA0GCSq...IDAQAB
确切的p=值在域名卡片中显示(“DNS记录”按钮)。在此期间,请验证SPFv=spf1 ip4:5.39.41.216 ~all和DMARCv=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com。检查在可送达性实验室中的发布情况。
常见错误及修复
| 代码 | 含义 | 修复 |
|---|---|---|
| 535 | 身份验证失败 | 用户名/密码错误。用户名是完整的邮箱地址;在面板中重置密码;确保AUTH通过TLS运行。 |
| 550 | 邮箱不可用 / 中继被拒绝 | 收件人缺失,或发件人不在已验证的域名上。检查地址和已验证状态。 |
| 554 | 事务失败 / 被拒绝 | 内容被标记为垃圾邮件或被列入黑名单。预热域名,检查垃圾邮件评分,设置DKIM/DMARC。 |
| 421 | 服务不可用 / 速率 | 连接过多。降低并发,重试时退避。 |
前期制作清单
- 已发布SPF、DKIM (
mail._domainkey)和DMARC,域名已验证。 swaks返回235和250 OK;邮件送达Gmail和Outlook,而不是垃圾邮件。- 事务性邮件和批量邮件分成独立的流。
- 为
421/4xx代码配置了重试。
更喜欢REST而不是SMTP?同样的中继可作为HTTP API使用;请参阅文档和如何选择SMTP服务的概述。量级层级在定价页面上。
在哪里查看投递结果
接受消息的中继(250 OK)尚未投递到收件人的收件箱。最终结果在面板的发送日志中显示:状态为已发送、已投递、已退回、已投诉、拒绝原因和事件时间。对于事务性邮件,启用webhooks以在您的应用中接收这些事件,例如,自动将硬退回邮件移动到抑制列表。如果消息以250 OK离开但未到达,几乎总是与声誉或身份验证有关:检查DKIM是否已发布且有效,SPF是否包含我们的出口IP,以及DMARC是否在不对齐时处于硬拒绝状态。自我诊断工具(垃圾邮件评分、黑名单检查、地址验证器)在可投递性实验室中无需登录即可使用。定期修剪不存在的地址——高退回率会损害您域名的声誉,并增加进入Gmail和Outlook垃圾邮件文件夹的几率。
连接池和并发
对于批量发送,不要为每条消息打开新的TLS连接——这很慢并且会导致421。保持几个持久连接的池并重用它们,在一个会话中发送多条消息(SMTP管道)。一个合理的起点是5-10个并行连接,随着预热逐渐增加;观察服务器的回复,并在4xx时退后。明确设置超时(连接和读取为10-30秒),并将失败的消息推送到重试队列,采用指数退避,而不是无限循环。这可以在不冒临时阻塞或不必要的负载风险的情况下提供稳定的吞吐量。
在此页面
← 所有文章一键操作。它告诉我们接下来该写什么。
尚无评分 — 您的将是第一条。
评论
评论在显示之前会被阅读。