System.Net.Mail.MailMessage 和 Microsoft SMTP 服务器使用的 EML 文件格式
-
21-09-2019 - |
题
我正在尝试了解由 System.Net.Mail.MailMessage 生成并由 Microsoft 的 SMTP 服务器生成或使用的 EML 文件。我一直在阅读 RFC 5322 和 5321,并试图理解该格式。
诚然,我看到的大多数 EML 文件都遵循 5322(或 2322 或 822,但我不知道好的 MS 是否遵守标准)中描述的消息格式。但是,我无法完全确定文件的顶部部分(X-Sender 和 X-Receiver 行)是否构成 5321 所描述的“信封”。
我想我的问题是:
- 该文件中包含 X-Sender/X-Receiver 行(消息内容上方)的部分是否有文档?
- 本节中是否还有其他“命令”?
- 这是一个全面的“标准”吗?IE。我可以期望由 System.Net.Mail.MailMessage 生成的 EML 文件在任何标准 SMTP 服务器中都能正确解析吗?
解决方案
不,没有任何文档。这仅由 IIS SMTP 服务完成,据我所知,没有任何其他命令。
但是,电子邮件仍然符合 RFC2822。它只是在消息前面添加一些仍然符合 RFC 标准但被 IIS SMTP 服务识别的 X 标头。
IIS SMTP 服务将使用 X-Sender 值作为 SMTP MAIL FROM 值,并使用 X-Receiver 作为 RCPT TO 值。
不隶属于 StackOverflow