专题 · 免费 SMTP 服务
产品团队在选择免费 SMTP 服务时应评估哪些方面?
应把免费 SMTP 服务当作一个有约束的生产依赖来评估,而不是一个零成本的主机名。核实该方案是长期的免费套餐还是会到期的试用;哪些邮件、收件人、字节数、日志、事件和支持会计入限额;达到上限时会发生什么;以及是否要求提供支付信息或自动产生超额费用。然后测试强制 TLS、限定作用域的凭据、已验证的发件域名、SPF、DKIM、DMARC 对齐、部分收件人失败时的行为、4xx 和 5xx 回复、退信、投诉、抑制列表、数据保留、导出和删除。在上线之前估算迁移成本,并且绝不要把免费套餐的受理等同于投递或进入收件箱。
依据现行合同来界定“免费”
“免费”一词可能指长期额度、限时试用、入门赠送额度、仅限已验证收件人的测试,或带有临时额度的付费方案。请在评估当天阅读服务商当前的价格和条款。记录币种、区域、税费、是否需要绑定银行卡、试用到期时间、包含的用量、超额行为、暂停行为,以及降级后会失去哪些功能。不要依赖搜索摘要、过时的对比文章、截图,或者没有可存档合同依据的销售对话。AWS SES、Resend 和 Mailgun 在各自的官方页面上公布了不同的现行定价模式和所含功能,不应假定它们可以互相替代。将所审阅页面的 URL 和抓取日期与决策绑定,并在上线前安排一次复核,因为服务商的方案可能会变化。免费的获取成本并不能消除工程、DNS、监控、隐私、事故处理或迁移方面的成本。
以计费单位和运维单位为工作负载建模
估算邮件数、收件人数、附件、字节数、API 或 SMTP 请求数、事件推送、入站邮件、存储内容、日志保留、域名、团队成员和环境数量。一封有多个收件人的邮件消耗配额的方式可能与单收件人事务不同。重试、测试流量、预热、退信和 Webhook 重放都会增加用量。计算平均值、峰值分钟、峰值小时、每日、每月和季节性的需求,并预留增长和事故处理的余量。让应用层的速率控制低于服务商的上限,并防止租户之间相互影响。弄清剩余用量为零时会发生什么:硬性拒绝、延迟投递、自动计费、功能降级,还是悄无声息地丢失日志。一个覆盖发送调用、但不包含可用的事件历史、支持或抑制列表导出的免费套餐,从运维角度看可能比一个小额付费方案更昂贵。在投入生产之前,用受控流量验证账户中观察到的计数器。
要求安全的 SMTP 提交
生产级 SMTP 服务应当在文档中说明受保护的提交方式、支持的端口、TLS 行为、身份验证机制、证书要求、凭据作用域和轮换方式。优先使用强制 TLS,并在缺少 STARTTLS、证书校验失败、主机名不匹配或协议不受支持时以失败关闭。将凭据保存在托管的机密管理系统中,绝不要放在浏览器代码、移动应用、源代码、图片、日志、URL、分析数据、工单或提示词中。将生产、测试、租户和管理权限分开。确认免费套餐是否对凭据、来源 IP、域名、区域或并发连接有限制。RFC 8314 建议弃用明文协议,改用 TLS 进行提交和访问;而 RFC 4954 将 SMTP 身份验证定义为一种协议扩展,而不是产品层面的授权。在打开 SMTP 连接之前,应用仍然必须对业务事件、发件人、租户、收件人、模板和邮件类别进行授权。
验证发件人身份和 DNS 所有权
要求使用组织自有的 From 域名,并有成文的域名验证流程。盘点 SMTP MAIL FROM 或 Return-Path、可见的 From、DKIM d= 域名和选择器、发信 IP 以及回复的处理方式。发布一条包含实际发信路径的有效 SPF 策略,使用受保护的密钥配置 DKIM 签名,并评估与可见 From 域名的 DMARC 对齐。服务商的验证只是证明某一项配置检查通过了;它并不能证明收件人许可、生产路由正确、信誉良好或能进入收件箱。弄清哪些 DNS 记录归服务商所有,哪些仍保留在组织的权威区域中。保存原有的值和回滚步骤。生产身份不要使用只属于服务商的 From 域名,因为这会削弱可迁移性,并可能让 DMARC 对齐或品牌连续性依赖于该服务商。通过每一条发信流和每一个环境测试实际收到的原始邮件。
要求提供有用的收件人级结果
服务必须能区分 SMTP 或 API 受理、单个收件人被拒、暂时性延迟、永久性失败、之后的退信、投诉、退订以及服务商的抑制。核实在免费套餐下这些结果如何推送、如何验证、如何重试、顺序如何、保留多久以及能否导出。在解析之前先验证 Webhook 的真实性,强制执行时效性和防重放控制,在确认之前持久化保存事件,并将其与应用自己的发送尝试关联起来。将已受理和被拒绝的收件人范围分开存储。对符合条件的暂时性失败,使用有上限的退避、随机抖动、尝试次数上限和队列时长上限进行重试。在出现永久性地址失败、投诉或退订后,停止在相应范围内的自动发送。一个没有可导出证据的控制台会造成运维上的锁定。服务商的 delivered 事件通常描述的是目标服务器已受理,而不是邮件最终所在的邮箱文件夹。打开和点击属于互动统计,可能会受到隐私保护技术的干扰。
检查定价页面之外的各项限制
定价页面很少包含完整的运营约定。请查阅最新文档,了解收件人数量、邮件大小、附件大小、连接速率、并发会话、API 速率、DNS 域名、模板、Webhook 重试次数、事件保留、抑制列表容量以及试用期的收件人限制。确定支持、审计日志、独享 IP、区域内处理、入站路由或合规功能是否需要付费方案。用实际账户进行测试,因为新账户或试用账户的限制可能更低,或者需要人工审核。为每一项限制记录来源 URL 和观察日期。不要恰好按上限来设计;为服务商的变动、重试和事故恢复留出余量。如果应用可能因为用户提供的收件人数组或附件而在不知不觉中超出限制,请先在产品层执行更严格的上限。将未写明或含糊的限制视为风险,而不是无限容量。
评估隐私、安全和防滥用控制
梳理邮件内容、收件人数据、邮件头、事件负载、IP 地址、日志、支持人员访问、备份以及各区域的子处理方。尽量减少自定义元数据,避免在标签和邮件头中放入机密信息或不必要的个人数据。确认免费账户的数据保留和删除行为,包括注销之后的情况。核实租户隔离、基于角色的访问控制、MFA、审计历史、凭据轮换、Webhook 签名、抑制列表授权和事故通知。测试邮件头注入、任意选择发件人、收件人过多、附件滥用、跨租户查询事件以及重放攻击。免费套餐常常是滥用的目标,因此服务商可能会实施自动审核或迅速暂停账户;产品需要一个持久化的队列和一条安全的暂停路径。绝不要通过轮换账户、域名、凭据或 IP 来规避防滥用控制。在服务商之外保存许可和抑制状态,这样即使账户被暂停或迁移,也不会丢失对收件人的保护。
在发信之前计算迁出成本
将服务商特有的字段放在一个适配层之后,并让应用的事件模型保持独立。盘点 SMTP 主机和身份验证、API 负载、模板、发件域名、Return-Path、DKIM 选择器、Webhook、事件名称、消息标识符、标签、抑制列表、入站路由和日志。要求能以产品可以校验的格式导出抑制列表和运维历史。迁移必须保留业务事件键、发送尝试历史、许可、收件人安全和发件人所有权。使用受控身份测试第二条传输通道,但不要把它配置成在出现永久性收件人失败或策略失败时自动绕行的通道。估算 DNS 变更窗口、凭据轮换、模板转换、Webhook 双重处理、防重复发送以及旧事件的保留。如果迁出意味着丢失证据、更换发件人身份,或者要在事故压力下重建安全控制,那么最便宜的免费套餐也可能是错误的选择。
在投入生产之前进行打分式验证
建立一个有代表性的测试矩阵:TLS 协商和证书失败、身份验证和轮换、已验证和未授权的发件人、纯文本和多部分内容、Unicode、附件、部分收件人失败、暂时性和永久性回复、DATA 之后超时、退信、投诉、退订、Webhook 重放、事件乱序、配额耗尽、方案到期、导出以及注销账户。使用专门的受控收件人,绝不要使用真实的客户列表。对安全性、正确性、证据、容量、隐私、支持、可迁移性和总成本分别打分。如果缺少 TLS 校验、使用无法轮换的共享密钥、存在跨租户暴露、没有永久性失败处理、无法导出抑制列表、存在静默超额计费或数据保留规则不清,则阻止上线。当定价方案、发信路径、域名或服务商合同发生变化时,重新执行验证。只有当各项控制和迁出计划达到与付费依赖相同的标准时,免费方案才适合用于范围有限的低风险工作负载。
评估 SendHQ 的当前方案
SendHQ 没有免费方案。新工作区可获得受控集成试用:向账户邮箱或 AWS SES 模拟器地址投递 100 次。有关当前付费方案的价格、额度和功能,请参阅 SendHQ 定价页面。
常见问题
免费 SMTP 服务可以用于生产环境吗?
可以用于范围有限的工作负载,但前提是 TLS、限定作用域的凭据、发件人身份验证、收件人安全、证据、隐私、容量、支持和迁移等各项关卡全部通过。
免费套餐和试用有什么区别?
免费套餐是依据现行条款提供的长期额度;试用则会到期,或者消耗的是临时额度。请核实线上合同以及达到上限时的行为。
团队应该比较哪些计量单位?
比较邮件数、收件人数、字节数、附件、请求数、事件、入站邮件、日志、数据保留、域名、用户、环境、支持和超额行为。按平均、峰值、增长、重试和事故情况下的用量分别计算每个单位。
免费 SMTP 服务受理邮件是否证明已送达?
不能。受理只是服务商或传输过程中的一个阶段。收件服务器受理、之后的退信、邮箱过滤、进入收件箱以及收件人的互动都是彼此独立的结果。
可以只由服务商保存唯一的抑制列表吗?
不可以。请在产品侧维护许可和收件人安全状态,并附带证据和审计历史,这样迁移或账户暂停都不会丢失这些保护。在之后每一次发送尝试之前,都立即应用这些状态。
配额耗尽时应该如何处理?
停止接收新的发送请求,或根据到期时间将它们持久化地放入队列;在达到上限之前发出告警;绝不要通过轮换未经授权的账户或身份来规避限制。
免费服务也需要 SPF、DKIM 和 DMARC 吗?
发信身份仍然需要正确的身份验证和对齐。免费方案并不会改变收件方的标准、域名所有权或 DNS 安全要求。
SendHQ 有免费方案吗?
没有。新工作区可获得受控集成试用:向账户邮箱或 AWS SES 模拟器地址投递 100 次。
参考来源
- Amazon Simple Email Service 定价 — Amazon Web Services
- Resend 定价 — Resend
- Mailgun 定价 — Mailgun
- RFC 8314:明文已过时:将传输层安全性(TLS)用于邮件提交和访问 — RFC Editor
- RFC 4954:SMTP Service Extension for Authentication(SMTP 身份验证服务扩展) — RFC Editor
- RFC 5321:简单邮件传输协议(SMTP) — RFC Editor
- RFC 7489:基于域的消息认证、报告与一致性(DMARC) — RFC Editor