SMTP 完整指南:它是什么、如何工作与最佳实践

通过这份全面的指南掌握 SMTP。学习简单邮件传输协议的工作原理,对比 SMTP 与 API,配置身份验证(SPF、DKIM、DMARC),并为你的业务选择最佳 SMTP 服务商。

SMTP 服务器
SMTP 完整指南:它是什么、如何工作与最佳实践?

SMTP 是互联网邮件通信的基础。无论是从个人收件箱发出的邮件,还是通过营销自动化平台发送的消息,每一封邮件都依赖 SMTP 到达目的地。对于管理邮件营销、事务性邮件或商业通信的人来说,理解 SMTP 的工作原理至关重要。

本指南全面覆盖 SMTP 的一切:从基本工作原理到高级身份验证方法、服务商对比以及常见问题排查。

什么是 SMTP?

SMTP(简单邮件传输协议) 是互联网上发送邮件的标准通信协议。SMTP 于 1982 年创建,定义了邮件消息从一台服务器传输到另一台服务器的方式,相当于数字世界的邮政服务。

当你发送邮件时,SMTP 负责处理出站传输。它将邮件从客户端推送到你的邮件服务器,再从你的邮件服务器推送到收件人的邮件服务器。该协议基于一套规则运行,确保邮件在全球不同邮件系统之间可靠传递。

SMTP 的主要特性

  • 推送协议:SMTP 将邮件从发件人推送到收件人(与拉取邮件的 POP3/IMAP 不同)
  • 基于文本:命令和响应均为人类可读格式
  • 面向连接:使用 TCP/IP 实现可靠传输
  • 存储转发:消息在中间服务器暂存后转发
  • 标准化:RFC 5321 定义了当前 SMTP 规范

SMTP 与其他邮件协议的对比

协议用途方向
SMTP发送邮件出站
POP3检索邮件入站
IMAP访问邮件入站(同步)

SMTP 与 POP3 和 IMAP 协同工作。SMTP 负责发送出站邮件,POP3 或 IMAP 负责将入站邮件检索到收件箱。大多数邮件客户端使用 SMTP 发送邮件、使用 IMAP 接收邮件,共同提供完整的邮件体验。

SMTP 的工作原理

理解 SMTP 流程有助于诊断送达问题并优化邮件基础设施。以下是邮件从发件人到收件人的逐步旅程。

SMTP 通信流程

第一步:建立连接

邮件客户端(邮件用户代理)通过 TCP 端口 25、587 或 465 连接到出站邮件服务器(邮件传输代理),完成握手确认。

第二步:SMTP 握手(HELO/EHLO)

客户端使用 HELO 或 EHLO 命令发起通信:

Client: EHLO mail.example.com
Server: 250-smtp.provider.com Hello

EHLO(扩展 HELO)是支持身份验证和 TLS 加密等 SMTP 扩展的现代版本。

第三步:发件人标识(MAIL FROM)

客户端指定发件人邮箱地址:

Client: MAIL FROM:<[email protected]>
Server: 250 OK

第四步:收件人指定(RCPT TO)

客户端标识一个或多个收件人:

Client: RCPT TO:<[email protected]>
Server: 250 OK

第五步:邮件内容传输(DATA)

传输实际邮件内容:

Client: DATA
Server: 354 Start mail input
Client: Subject: Test Email
Client: From: [email protected]
Client: To: [email protected]
Client:
Client: This is the email body.
Client: .
Server: 250 OK

第六步:断开连接(QUIT)

会话优雅结束:

Client: QUIT
Server: 221 Bye

完整邮件旅程

  1. 撰写:在客户端(Gmail、Outlook 等)编写邮件
  2. 提交:客户端连接到你的 SMTP 服务器
  3. DNS 查询:服务器查询收件人域名的 MX 记录
  4. 传输:你的服务器连接到收件人的 SMTP 服务器
  5. 送达:收件人服务器接收消息
  6. 存储:消息存储,等待收件人通过 POP3/IMAP 检索

SMTP 端口详解

端口名称安全性使用场景
25SMTP无/STARTTLS服务器间中继
587提交STARTTLS客户端到服务器(推荐)
465SMTPS隐式 TLS旧版安全提交
2525替代STARTTLS587 被封锁时使用

端口 587 是从应用程序和邮件客户端发送邮件的推荐端口,需要身份验证并支持 STARTTLS 加密。

端口 25 是最初的 SMTP 端口,现在主要用于服务器间通信。许多 ISP 封锁出站 25 端口以防止垃圾邮件。

端口 465 曾短暂指定为 SMTPS(基于 SSL 的 SMTP),后被重新分配。部分服务商仍支持它以兼容旧版系统。

SMTP 与邮件 API:如何选择?

现代应用有两种主要的程序化发送邮件方式:传统 SMTP 和基于 HTTP 的邮件 API。两种方式各有优劣。

SMTP 方式

使用 SMTP 时,应用直接通过上述协议连接到 SMTP 服务器。

优势:

  • 与任何邮件发送库通用兼容
  • 可与现有邮件基础设施协作
  • 无厂商锁定于特定 API 格式
  • 基础用例设置简单
  • 适用于 HTTP 访问受限的环境

劣势:

  • 错误处理更复杂
  • 无附加设置则跟踪能力有限
  • 同步发送速度较慢
  • 连接管理开销较大
  • 实现高级功能较困难

邮件 API 方式

邮件 API 使用 HTTP/REST 发送消息,抽象了底层 SMTP 复杂性。

优势:

  • 内置丰富跟踪(打开、点击、退件)
  • 异步发送并支持 Webhook
  • 通过 HTTP 状态码简化错误处理
  • 原生支持高级功能(模板、定时发送)
  • 更好的分析和报告能力
  • 与现代应用集成更简便

劣势:

  • 厂商专属实现
  • 需要互联网连接(不支持本地中继)
  • 可能有 API 速率限制
  • 有 API 专属功能的学习曲线

何时使用 SMTP

  • 旧版系统:为 SMTP 设计的老旧应用
  • 简单事务性邮件:不需要跟踪的基础通知
  • 本地部署软件:受限网络环境中的应用
  • 邮件客户端配置:桌面或移动端邮件应用
  • WordPress 和 CMS:许多插件期望使用 SMTP 凭据

何时使用邮件 API

  • 营销自动化:需要详细分析的活动
  • 大量发送:发送数千封邮件的应用
  • 现代应用:具有复杂邮件需求的 SaaS 产品
  • 高级功能:模板管理、A/B 测试、动态内容
  • 实时跟踪:需要即时送达反馈时

混合方式

许多组织同时使用两种方式:SMTP 用于旧版系统的简单事务性消息,邮件 API 用于营销活动和复杂自动化。Brevo 等平台同时支持两种方式,可根据具体场景灵活选择。

SMTP 身份验证详解

SMTP 身份验证可防止未授权用户通过你的服务器发送邮件。没有身份验证,任何人都可以利用你的服务器发送垃圾邮件,损害你的发送声誉和送达率。

SMTP 身份验证类型

SMTP AUTH(RFC 4954)

发送前需要提供用户名和密码的标准身份验证机制。

Client: AUTH LOGIN
Server: 334 VXNlcm5hbWU6
Client: [base64 编码的用户名]
Server: 334 UGFzc3dvcmQ6
Client: [base64 编码的密码]
Server: 235 Authentication successful

常见 AUTH 机制:

机制安全性说明
PLAIN基础明文用户名/密码(需要 TLS)
LOGIN基础类似 PLAIN,旧版格式
CRAM-MD5较好挑战响应,不传输明文密码
DIGEST-MD5良好改进版挑战响应
OAUTH2最佳基于令牌,不传输密码

TLS/SSL 加密

始终使用加密保护凭据:

  • STARTTLS:将明文连接升级为加密连接(端口 587)
  • 隐式 TLS:连接从一开始即加密(端口 465)

API 密钥 vs. 密码

现代 SMTP 服务通常使用 API 密钥代替密码:

Username: apikey(字面字符串)
Password: your-api-key-here

API 密钥更安全,可以在不更改账户密码的情况下轮换,并且可以设置有限权限。

配置 SMTP 凭据

配置应用通过 SMTP 发送邮件时,通常需要以下信息:

  1. SMTP 主机:服务器地址(例如 smtp.brevo.com)
  2. SMTP 端口:通常使用 587 进行已认证提交
  3. 用户名:你的账户邮箱或 API 密钥标识符
  4. 密码:你的账户密码或 API 密钥
  5. 加密:启用 TLS/STARTTLS

Brevo SMTP 配置示例:

Host: smtp-relay.brevo.com
Port: 587
Password: your-smtp-key
Encryption: STARTTLS

邮件身份验证:SPF、DKIM 和 DMARC

SMTP 身份验证(证明你可以使用该服务器)之外,邮件身份验证协议还能验证邮件确实来自声称的发件人。这些基于 DNS 的机制可防止伪造和网络钓鱼。

SPF(发件人策略框架)

SPF 指定哪些 IP 地址和服务器被授权代表你的域名发送邮件。

SPF 工作原理:

  1. 在域名 DNS 中发布 SPF 记录
  2. 收件服务器收到你的邮件时检查 SPF
  3. 如果发送 IP 与 SPF 记录匹配,邮件通过
  4. 不匹配时,邮件可能被标记为垃圾邮件或拒绝

SPF 记录示例:

v=spf1 include:spf.brevo.com include:_spf.google.com -all

该记录允许 Brevo 和 Google 代表你的域名发送邮件,并拒绝所有其他发件人(-all)。

SPF 语法:

机制说明
include:信任另一个域名的 SPF
ip4:允许特定 IPv4 地址/范围
ip6:允许特定 IPv6 地址/范围
a允许域名 A 记录的 IP
mx允许域名 MX 服务器的 IP
-all硬拒绝其他所有发件人
~all软拒绝其他所有发件人
?all对其他所有发件人保持中立

SPF 最佳实践:

  • 确认配置无误后使用 -all(硬拒绝)
  • 控制在 10 次 DNS 查询以内,避免 permerror
  • 包含所有合法发送来源
  • 部署前用 SPF 验证工具测试

DKIM(域名密钥识别邮件)

DKIM 为邮件添加加密签名,证明邮件在传输过程中未被篡改,并来自你的域名。

DKIM 工作原理:

  1. 邮件服务器用私钥对出站邮件签名
  2. 在 DNS 中发布对应的公钥
  3. 收件服务器用你的公钥验证签名
  4. 有效签名确认邮件完整性和来源

DKIM DNS 记录示例:

brevo._domainkey.example.com IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4..."

选择器(brevo)标识使用哪个密钥,允许多个服务使用不同的 DKIM 密钥发送邮件。

DKIM 组成部分:

部分说明
选择器标识具体密钥(例如 brevo、google)
公钥发布于 DNS 的 RSA 密钥,用于验证
私钥由发送服务器持有,用于签名
标头添加到邮件中(DKIM-Signature)

DKIM 最佳实践:

  • 使用 2048 位 RSA 密钥(最低 1024 位)
  • 定期轮换密钥
  • 对重要标头签名(From、Subject、Date)
  • 全面部署前测试签名

DMARC(基于域名的消息认证、报告和一致性)

DMARC 在 SPF 和 DKIM 基础上增加了处理身份验证失败的策略和报告功能。

DMARC 工作原理:

  1. 在 DNS 中发布 DMARC 策略
  2. 收件服务器检查 SPF 和 DKIM 的一致性
  3. 未通过的邮件按你的策略处理
  4. 向你发送身份验证结果报告

DMARC DNS 记录示例:

_dmarc.example.com IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=100"

DMARC 策略:

策略处理方式
p=none仅监控,对失败不采取行动
p=quarantine将失败邮件发送到垃圾邮件文件夹
p=reject完全拦截失败邮件

DMARC 实施路径:

  1. 从 p=none 开始:在不影响送达的情况下监控
  2. 分析报告:识别身份验证失败的合法来源
  3. 修复问题:添加缺失的 SPF include,配置 DKIM
  4. 切换到 p=quarantine:开始软性执行保护
  5. 升级到 p=reject:确认无误后实现最大保护

DMARC 最佳实践:

  • 从 p=none 和 rua(汇总报告)开始
  • 执行策略前监控报告 2 至 4 周
  • 确保所有合法发件人通过 SPF 或 DKIM 并保持一致性
  • 执行时逐步提高 pct(百分比)

身份验证一致性

DMARC 要求 From 标头中的域名与通过 SPF/DKIM 的域名保持”一致性”:

  • SPF 一致性:Return-Path 域名与 From 域名匹配
  • DKIM 一致性:DKIM 签名域名与 From 域名匹配

这可防止攻击者利用你的 SPF/DKIM 基础设施发送伪造邮件。

最佳 SMTP 服务与服务商

选择合适的 SMTP 服务商会影响送达率、成本和功能。以下是 2026 年的主流选择。

Brevo(前身为 Sendinblue)

最适合: 电商,事务性邮件与营销邮件组合需求

Brevo 同时提供 SMTP 中继和 API 访问,定价有竞争力。其优势在于将事务性邮件与营销自动化、CRM 和多渠道通信(短信、WhatsApp)相结合。

功能详情
免费套餐每天 300 封
定价从 $9/月起,5,000 封邮件
SMTP 中继支持
API支持(REST)
送达率工具SPF、DKIM、可选专用 IP
分析打开率、点击率、退件率、实时数据

SMTP 配置:

Host: smtp-relay.brevo.com
Port: 587
Authentication: Required
Encryption: STARTTLS

使用 Tajo 将 Shopify 店铺与 Brevo 集成后,在可靠 SMTP 送达订单确认、发货通知和收据等事务性邮件的同时,还能自动同步客户数据。

Amazon SES(简单邮件服务)

最适合: 使用 AWS 基础设施的大量发送者

Amazon SES 为高发送量提供极低定价,并与其他 AWS 服务无缝集成。

功能详情
免费套餐每月 62,000 封(从 EC2 发送)
定价每 1,000 封 $0.10
SMTP 中继支持
API支持(AWS SDK)
送达率工具完整(需手动配置)
分析与 CloudWatch 集成

注意事项:

  • 需要一定技术能力才能正确配置
  • 声誉管理由用户自行负责
  • 最适合熟悉 AWS 的开发者

SendGrid(Twilio)

最适合: 需要强大 API 和可扩展性的开发者

SendGrid 提供面向开发者的 API,文档完善,适合成长中的企业。

功能详情
免费套餐每天 100 封
定价从 $19.95/月起,50,000 封邮件
SMTP 中继支持
API支持(REST、Webhook)
送达率工具完整套件
分析全面仪表板

Mailgun

最适合: 需要详细日志的事务性邮件

Mailgun 专注于事务性和开发者场景,提供强大的日志搜索和验证功能。

功能详情
免费套餐试用版,发送量有限
定价从 $15/月起,10,000 封邮件
SMTP 中继支持
API支持(REST)
送达率工具邮件验证、日志
分析可搜索日志、统计数据

Postmark

最适合: 需要最快送达速度的事务性邮件

Postmark 专注于事务性邮件,拥有业界领先的送达速度和严格的反垃圾邮件政策。

功能详情
免费套餐无(提供试用)
定价从 $15/月起,10,000 封邮件
SMTP 中继支持
API支持(REST)
送达率工具含专用 IP
分析实时、详细

服务商对比汇总

服务商最适合免费套餐起始价格
Brevo一体化营销300 封/天$9/月
Amazon SES大量发送,AWS 用户62,000 封/月$0.10/千封
SendGrid面向开发者100 封/天$19.95/月
Mailgun事务性 + 日志试用$15/月
Postmark快速事务性试用$15/月

如何选择合适的服务商

考量以下因素:

  1. 发送量:每月发送多少封邮件?
  2. 邮件类型:营销邮件、事务性邮件,还是两者都有?
  3. 技术资源:能否处理复杂的配置?
  4. 所需功能:模板、分析、A/B 测试?
  5. 预算:每月邮件预算是多少?
  6. 集成需求:需要连接哪些系统?

对于使用 Shopify 且有营销自动化需求的电商企业,Brevo 结合 Tajo 提供完整解决方案:客户数据同步、事务性邮件、营销活动和多渠道通信,整合在一个统一的技术栈中。

如何配置 SMTP

SMTP 的配置因使用场景而异。以下是常见场景的配置指南。

在 WordPress 中配置 SMTP

大多数 WordPress 网站需要 SMTP 才能可靠发送邮件。默认的 PHP mail() 函数经常失败或落入垃圾邮件。

第一步:安装 SMTP 插件

常用选项:

  • WP Mail SMTP
  • Post SMTP
  • Easy WP SMTP

第二步:配置插件

使用 WP Mail SMTP 配合 Brevo:

From Email: [email protected]
From Name: Your Site Name
Mailer: Other SMTP
SMTP Host: smtp-relay.brevo.com
Encryption: TLS
SMTP Port: 587
Authentication: On
SMTP Username: [email protected]
SMTP Password: your-brevo-smtp-key

第三步:测试连接

发送测试邮件验证配置。如果测试邮件未到达,检查垃圾邮件文件夹。

在应用中配置 SMTP

对于自定义应用,使用编程语言的邮件库。

Node.js(Nodemailer):

const nodemailer = require('nodemailer');
const transporter = nodemailer.createTransport({
host: 'smtp-relay.brevo.com',
port: 587,
secure: false,
auth: {
pass: 'your-smtp-key'
}
});
await transporter.sendMail({
subject: 'Test Email',
text: 'Hello from Node.js!'
});

Python(smtplib):

import smtplib
from email.mime.text import MIMEText
smtp_server = "smtp-relay.brevo.com"
port = 587
username = "[email protected]"
password = "your-smtp-key"
msg = MIMEText("Hello from Python!")
msg['Subject'] = "Test Email"
msg['From'] = "[email protected]"
msg['To'] = "[email protected]"
with smtplib.SMTP(smtp_server, port) as server:
server.starttls()
server.login(username, password)
server.send_message(msg)

PHP(PHPMailer):

use PHPMailer\PHPMailer\PHPMailer;
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp-relay.brevo.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'your-smtp-key';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('[email protected]', 'Sender Name');
$mail->addAddress('[email protected]');
$mail->Subject = 'Test Email';
$mail->Body = 'Hello from PHP!';
$mail->send();

配置 DNS 记录

发送前,配置身份验证 DNS 记录。

第一步:添加 SPF 记录

在域名根目录创建 TXT 记录:

Type: TXT
Host: @
Value: v=spf1 include:spf.brevo.com ~all

如果已有 SPF 记录,添加 include 声明:

v=spf1 include:spf.brevo.com include:_spf.google.com ~all

第二步:添加 DKIM 记录

使用服务商提供的选择器创建 TXT 记录:

Type: TXT
Host: brevo._domainkey
Value: v=DKIM1; k=rsa; p=[your-public-key]

第三步:添加 DMARC 记录

从监控模式开始:

Type: TXT
Host: _dmarc
Value: v=DMARC1; p=none; rua=mailto:[email protected]

第四步:验证配置

使用以下工具:

  • MXToolbox(mxtoolbox.com)
  • Mail Tester(mail-tester.com)
  • DMARC Analyzer

常见 SMTP 错误与解决方案

SMTP 错误遵循标准化编号系统。理解这些错误代码有助于快速诊断送达问题。

SMTP 错误代码分类

范围类别含义
2xx成功命令已接受
4xx临时失败稍后重试
5xx永久失败请勿重试

常见 SMTP 错误与解决方案

421 服务不可用

服务器暂时无法处理请求。

原因:

  • 服务器过载
  • 维护窗口期
  • 连接数达到上限

解决方案:

  • 等待后重试
  • 检查服务商状态页
  • 实现带退避的重试逻辑

450 邮箱不可用

收件人邮箱临时问题。

原因:

  • 邮箱已满
  • 服务器策略限制
  • 灰名单过滤

解决方案:

  • 延迟后重试
  • 灰名单第二次尝试后通常会解决
  • 如持续发生,联系收件人

451 本地错误

收件服务器处理错误。

原因:

  • 服务器配置问题
  • 资源耗尽
  • 临时策略封锁

解决方案:

  • 使用指数退避重试
  • 检查 IP 是否被临时封锁
  • 等待服务器恢复

500 语法错误

命令无法识别。

原因:

  • SMTP 命令格式错误
  • 不支持的扩展
  • 编码问题

解决方案:

  • 检查命令语法
  • 确保正确的换行符(CRLF)
  • 验证客户端兼容性

501 参数语法错误

命令可识别但参数无效。

原因:

  • 邮件地址格式无效
  • 缺少必需参数
  • 编码问题

解决方案:

  • 发送前验证邮件地址
  • 检查特殊字符
  • 检查参数格式

550 邮箱不存在

收件人地址不存在。

原因:

  • 邮件地址拼写错误
  • 账户已删除
  • 域名不接受邮件

解决方案:

  • 验证收件人地址
  • 从名单中移除(硬退件)
  • 实施邮件地址验证

551 用户不在本服务器

收件人不在此服务器上。

原因:

  • 需要邮件转发
  • 联系了错误的服务器
  • MX 记录过时

解决方案:

  • 检查 MX 记录解析
  • 按照转发说明操作
  • 更新 DNS 缓存

552 邮件过大

邮件超出大小限制。

原因:

  • 附件过大
  • 收件服务器限制
  • 内嵌图片过大

解决方案:

  • 压缩或移除附件
  • 改用文件共享链接
  • 检查收件方的大小限制

553 邮箱名称无效

地址格式被拒绝。

原因:

  • 地址中包含无效字符
  • 域名格式错误
  • 策略限制

解决方案:

  • 验证邮件格式
  • 检查拼写错误
  • 使用符合 RFC 标准的地址

554 事务失败

通常与垃圾邮件相关的通用拒绝。

原因:

  • 触发垃圾邮件过滤器
  • 发送 IP 被列入黑名单
  • 内容违反策略
  • 缺少身份验证

解决方案:

  • 检查黑名单状态
  • 审查邮件内容
  • 验证身份验证配置(SPF、DKIM、DMARC)
  • 检查发件人声誉

诊断 SMTP 问题

第一步:查看错误信息

记录完整的 SMTP 响应,而不仅仅是错误代码。代码后的文字提供了重要上下文。

第二步:测试连接

验证能否连接到 SMTP 服务器:

Terminal window
telnet smtp-relay.brevo.com 587

或使用 openssl 测试 TLS:

Terminal window
openssl s_client -starttls smtp -connect smtp-relay.brevo.com:587

第三步:验证身份验证

独立于应用,使用邮件客户端或命令行工具测试凭据。

第四步:检查 DNS

验证身份验证记录:

Terminal window
dig TXT yourdomain.com
dig TXT _dmarc.yourdomain.com
dig TXT selector._domainkey.yourdomain.com

第五步:检查黑名单

检查发送 IP 是否被列入黑名单:

  • MXToolbox 黑名单检查
  • Spamhaus
  • Barracuda Reputation

SMTP 最佳实践

遵循以下实践,最大化送达率并维护良好的发件人声誉。

身份验证

  • 始终使用 SMTP AUTH:绝不运行开放中继
  • 启用 TLS:对所有连接加密(端口 587 使用 STARTTLS)
  • 使用 API 密钥:优先使用 API 密钥而非账户密码
  • 定期轮换凭据:定期更换密钥
  • 三者同时实施:SPF、DKIM 和 DMARC 缺一不可

发送实践

  • 预热新 IP:在新发送 IP 上逐步增加发送量
  • 保持一致的发送节奏:维持规律的发送频率
  • 名单清洁:移除退件和不活跃订阅者
  • 及时处理退订:立即执行退出请求
  • 监控声誉:跟踪发件人评分和黑名单状态

技术实现

  • 处理退件:处理并分类退件通知
  • 实施重试逻辑:对临时失败使用指数退避
  • 记录所有日志:保留详细日志以便排查
  • 监控送达:跟踪送达率和延迟
  • 使用连接池:复用连接提高效率

内容指南

  • 避免垃圾邮件触发词:注意常见的垃圾邮件关键词
  • 均衡文字与图片比例:不要发送纯图片邮件
  • 包含退订链接:大多数司法管辖区的法律要求
  • 使用可识别的发件人名称:收件人应能认出你是谁
  • 发送前测试:正式发送前检查垃圾邮件评分

常见问题

SMTP 与邮件托管有什么区别?

SMTP 专门用于发送邮件。邮件托管包含发送(SMTP)和接收(POP3/IMAP)以及存储和管理功能。可以在其他地方托管邮件的同时使用第三方 SMTP 服务。

可以用 Gmail SMTP 做商业用途吗?

Gmail 提供 SMTP 访问,但有限制。免费版每天允许 500 封,Google Workspace 提升至 2,000 封。对于更高发送量或更好的送达率控制,建议使用 Brevo 等专用 SMTP 服务。

为什么我的邮件进了垃圾邮件?

常见原因包括:

  • SPF/DKIM/DMARC 缺失或配置错误
  • 新 IP 未经预热直接发送
  • 发件人声誉差
  • 内容类似垃圾邮件
  • 发送至无效地址
  • 投诉率过高

先检查身份验证配置,再审查内容和发送实践。

应该使用哪个 SMTP 端口?

推荐使用端口 587 进行客户端到服务器的邮件提交。它需要身份验证并支持 STARTTLS 加密。端口 25 用于服务器间中继,通常被 ISP 封锁。

通过 SMTP 可以发送多少封邮件?

限制取决于服务商:

  • Gmail:每天 500 至 2,000 封
  • Brevo 免费版:每天 300 封
  • Amazon SES:每天 50,000 封(需审批)
  • 专用服务:通常按定价套餐不限量

SMTP 需要专用 IP 吗?

并非必须。良好实践下,共享 IP 在中等发送量时表现良好。专用 IP 适合每月发送量超过 10 万封、希望完全掌控声誉的高量发送者。大多数服务商提供专用 IP 升级选项。

什么是 SMTP 中继?

SMTP 中继是指你的邮件服务器通过另一台服务器转发消息进行送达。当本地服务器无法直接发送(端口被封锁、声誉差)或使用 Brevo 等服务提升送达率时,SMTP 中继非常有用。

如何测试 SMTP 配置?

使用以下方法:

  1. 通过应用发送测试邮件
  2. 使用 Mail Tester 等在线工具检查身份验证
  3. 通过 telnet 或 openssl 手动连接
  4. 查看服务商仪表板中的送达日志
  5. 发送至报告身份验证结果的测试地址

SPF 或 DKIM 验证失败会怎样?

没有 DMARC 时,SPF/DKIM 失败可能导致邮件被标记,但不一定被拒绝。当 DMARC 设置为 quarantine 或 reject 时,失败将导致邮件进入垃圾邮件文件夹或被拦截。始终监控 DMARC 报告以发现身份验证问题。

SMTP 能处理附件吗?

可以。SMTP 以编码形式传输附件(二进制文件通常使用 base64 编码)。但大附件可能触及服务器大小限制。对于超过几 MB 的文件,建议改用云存储链接。

总结

SMTP 依然是全球邮件通信的基础协议。无论发送事务性通知、营销活动还是内部通信,理解 SMTP 有助于构建可靠的邮件基础设施。

本指南的核心要点:

  • SMTP 是发送协议:负责将邮件从发件人推送到收件服务器
  • 身份验证至关重要:使用 SMTP AUTH、TLS,并实施 SPF/DKIM/DMARC
  • 选择合适的服务商:将服务商能力与你的发送量和需求匹配
  • 监控与维护:跟踪送达率、处理退件、保持名单清洁
  • SMTP 与 API:SMTP 用于兼容性,API 用于高级功能

对于电商企业而言,将 Brevo 这样可靠的 SMTP 服务商与完善的客户数据集成相结合,确保事务性邮件能到达客户,同时营销活动推动持续互动。Tajo 的 Shopify 集成自动将客户数据同步至 Brevo,为事务性和营销邮件的有效通信奠定基础。

准备提升邮件送达率了吗?先按本指南的 SPF、DKIM 和 DMARC 指引审计当前身份验证配置,再考虑当前服务商是否满足你在发送量、功能和可靠性方面的需求。

相关文章

Frequently Asked Questions

什么是 SMTP 服务器?
通过这份全面的指南掌握 SMTP。学习简单邮件传输协议的工作原理,对比 SMTP 与 API,配置身份验证(SPF、DKIM、DMARC),并为你的业务选择最佳 SMTP 服务商。
如何开始使用 SMTP 服务器?
从基础知识入手:理解核心概念、选择合适工具、按步骤实施。本指南从入门到进阶全面覆盖。
SMTP 服务器有哪些最佳工具?
最佳工具取决于你的预算和需求。Brevo 提供涵盖邮件、短信、CRM 和自动化的全面免费套餐。详细推荐见本指南。

Subscribe to updates

blog-updates

Drop your email or phone number — we'll send you what matters next.

免费开始使用Brevo