技术解析 · 附来源的解答
邮件头:技术定义与结构
邮件头是邮件中位于正文之前的元数据部分。它包含关键的路由、身份验证和格式信息,邮件传输代理(MTA)和邮件客户端依靠这些信息正确处理和显示邮件。
工作机制
邮件头由一系列以冒号分隔的名称-值对组成。发送邮件时,发信服务器会生成初始邮件头。邮件经过各个中继时,每台服务器都会在邮件头的最顶部追加自己的 Received 头,从而形成一条从源服务器到最终目标邮箱、按时间顺序排列的邮件路径记录。邮件头与邮件正文之间以一个空行分隔。
对发件人的重要性
邮件头对安全和送达率至关重要。它们携带 SPF、DKIM 和 DMARC 的检查结果,告诉收件服务器邮件是否真实可信。邮件头不正确时,邮件经常会被标记为垃圾邮件或被拒收。发件人可以使用 SendHQ 或其免费工具(https://sendhq.cc/tools)分析这些要素,确保身份验证记录在已送达邮件的邮件头中得到正确体现。
常见运维错误
一个常见错误是信封 From 地址与邮件头 From 地址不匹配,这可能导致 DMARC 对齐失败。另一个常见问题是包含了非标准或格式错误的邮件头,导致某些邮件客户端无法正确渲染邮件,或触发垃圾邮件过滤器。过度中继造成的超长邮件头链也可能导致邮件被一些严格的收件服务器拒收。
邮件头具体示例
典型的邮件头块包括 From: sender@example.com、To: recipient@example.com、Subject: Technical Update 和 Date: Mon, 1 Jan 2024 10:00:00 GMT。在身份验证方面,您会看到 DKIM-Signature: v=1; a=rsa-sha256; c=v; d=example.com; s=selector1; bh=hash; 以及 Received-SPF: pass。收件服务器借助这些行验证发件人身份和内容完整性。
路由与元数据
除身份验证外,邮件头还通过 MIME 管理内容类型和编码。Content-Type 头指明邮件是纯文本还是 HTML,Message-ID 则为每封邮件提供唯一标识符。这些字段确保邮件客户端知道如何解码正文中的二进制数据,以及如何在用户界面中将对话归并为会话。
团队常问的问题
用户能看到邮件头吗?
能。大多数邮件客户端都提供查看原始源码或原始邮件的选项,可以显示完整的邮件头。
邮件头会影响垃圾邮件评分吗?
会。缺少 DKIM、SPF 等身份验证邮件头或其内容不一致,会显著增加邮件被标记为垃圾邮件的可能性。
信封地址和邮件头地址有什么区别?
信封由 SMTP 服务器用于路由,而邮件头是最终用户在邮件客户端中看到的内容。
一手资料
- RFC 5322:互联网邮件格式 — RFC Editor
- RFC 2045:MIME 第一部分:互联网邮件正文格式 — RFC Editor