我正在使用一个第三方应用程序来发送简单的 SMTP 电子邮件消息。该应用程序不区分换行符或多个空格,因此生成的电子邮件几乎难以辨认。
由于邮件通过我们的 SMTP 服务器发送,因此 Outlook 将其视为纯文本。我可以在 SMTP 邮件消息中包含 html 标签,并让 Outlook 处理这些标签以使输出更加用户友好吗?
答案1
SMTP 邮件通常使用哑剧消息格式。此格式是一种非常灵活的系统,允许单个消息包含多个部分(称为“部分”),每个部分使用其自己单独的编码和类型。
现在,邮件传输协议邮件是非常古老的功能,它实际上早于 MIME 格式,因此它将支持相同格式的消息。通常,这是最简单的邮件发送应用程序处理它的方式:就像一堆文本一样。
实际上,MIME 邮件消息由一组标头和后面的邮件正文组成。其中一个标头指示了邮件的编码方式。如果邮件正文是纯文本,则该标头将显示:
Content-type: text/plain
如果邮件正文是 HTML 格式,则通常是
Content-type: multipart/related
(有时为直的text/html
)
它告诉邮件客户端该消息包含多个部分。在此阶段,每个部分必须指示其应属于哪种类型(除其他几个参数外)。
总而言之,如果您的邮件应用程序以纯文本形式发送邮件,而您想将其转换为 HTML,那么除了更改邮件正文本身之外,您至少还必须更改邮件的内容类型标头。