您的邮件解析器似乎无法处理 Quoted Printable 内容的解码。
我想如果你查看标题,你会发现这样的标题:
内容传输编码:quoted-printable
我已经编写了几个电子邮件客户端和多个 mime 解析器,目前正在用 C# 编写一个新的 mime 解析器(其他都是用 C 语言),这里称为 MimeKit:http: //github.com/jstedfast/MimeKit。这可能是你感兴趣的...
我有一个可过滤的流类,您可以向其中添加一个 QuotedPrintableDecoder(我也实现了),然后通过它传递您的数据以对其进行解码。或者你可以直接通过 QuotedPrintableDecoder 传递它,这取决于对你来说最简单的方法。
示例用法:
var decoder = new QuotedPrintableDecoder ();
var output = new byte[decoder.EstimateOutputLength (input.Length)];
var outputLength = decoder.Decode (input, 0, input.Length, output);
// convert the output into a string displayable to the user...
var text = System.Text.Encoding.UTF8.GetString (output, 0, outputLength);
显然,您会为内容使用正确的 System.Text.Encoding(通过查看 Content-Type 标头中的“charset”参数),而不是盲目地使用 System.Text.Encoding.UTF8。