【发布时间】:2011-11-11 13:56:16
【问题描述】:
我想在通过 SMTP 发送的纯文本电子邮件中添加 Unicode 字符。我们的实现基于 .NET 的 System.Net.Mail,这样可以很容易地指定 Unicode 编码:
message.BodyEncoding = System.Text.Encoding.UTF8;
即使对于英语,切换到 Unicode 也可以让我在电子邮件文本中包含项目符号(Unicode 代码点 U+2022 = •)。备用 HTML 电子邮件正文允许将 <ul> 元素用于项目符号列表,但对于纯文本电子邮件,我想要一个比使用星号或破折号更丑的解决方案。
在 SMTP 中使用 Unicode 编码有缺点吗?我是否应该担心某些收件人会因为这种编码而无法接收或阅读电子邮件?
【问题讨论】:
-
您不必担心 SMTP - 它是一种传输方式,可以处理任何内容。收件人 - 除非您要发送给一些在未更新为使用 Unicode 的系统上使用命令行电子邮件阅读器的 Unix 瘾君子 - 您很好
-
默认情况下,SMTP 不支持传输 8 位数据,如 UTF-8。要么 SMTP 服务器必须支持 SMTP 协议的 8BIT 扩展,并且客户端必须请求使用它们,要么必须将电子邮件编码为 7 位友好的传输编码,例如
base64或quoted-printable。跨度>
标签: .net email unicode encoding smtp