技术解析 · 附来源的解答

SMTP 信封与邮件头:两者的区别

SMTP 信封是邮件服务器用来路由邮件的一组指令,而邮件头是邮件内容中包含的元数据。信封确定了用于投递的实际发件人和收件人,邮件头则提供在最终用户邮件客户端中显示的信息。

SMTP 信封

信封是邮件的传输层,由 SMTP 会话中发出的 MAIL FROM 和 RCPT TO 命令组成。这些命令告诉收件服务器谁在发送邮件、邮件应投递到哪里。邮件成功移交给目标服务器后,信封就会被剥离,最终收件人看不到它。

邮件头

邮件头属于 SMTP 会话中 DATA 命令的一部分,包括 From、To、Subject 和 Date 等字段。与信封不同,邮件头会随邮件一起存储,并由邮件客户端显示。用户看到的发件人是 From 头,但它可以与信封发件人不同,这在事务性邮件发送中很常见。

为什么这种区分很重要

这种分离对邮件身份验证至关重要。SPF 检查的是信封发件人(Return-Path),而不是 From 头。DMARC 要求信封发件人与邮件头 From 域名对齐,以防止伪造。这两层之间不对齐,常常导致邮件被标记为垃圾邮件或未通过身份验证检查。

操作说明与常见错误

一个常见错误是以为修改 From 头就会改变退信地址。退信会发送到信封发件人。使用 SendHQ 或其免费工具(https://sendhq.cc/tools)的开发者应确保 Return-Path 与已验证的域名一致,以保持较高的送达率并正确处理退信。

具体示例

以新闻通讯为例,信封发件人可能是 bounces@marketing.com,用于处理投递失败;而邮件头 From 设置为 hello@company.com,让客户看起来更专业。服务器根据信封路由邮件,而用户看到的是邮件头。

团队常问的问题

SPF 验证的是哪一个?

SPF 验证的是信封发件人,具体来说是 MAIL FROM 命令中的域名,它通常以 Return-Path 的形式出现在收到的邮件头中。

信封发件人和邮件头发件人可以不同吗?

可以不同。这在自动化系统中是标准做法:信封使用专用的退信地址,邮件头则使用带品牌的地址。

收件人能看到 SMTP 信封吗?

看不到,收件人只能看到邮件头。信封仅供邮件传输代理(MTA)用于路由,投递完成后即被丢弃。

一手资料