【发布时间】:2016-04-17 20:57:18
【问题描述】:
我正在尝试使用 .Net 的 SmtpClient 将二进制文件作为电子邮件附件发送。默认情况下,我看到的行为是附件作为 Base64 字符串发送。因此,如果我在磁盘上有一个 3mb 的文件,当我附加并邮寄它时,结果是 4-5mb 的 .eml 文件。
我快速浏览了TransferEndcoding 枚举,希望有类似“二进制”的东西,但没有这样的运气。不过,如果我选择 8 位编码,附件/消息会更小,文件的完整性也很好。我用不同的文件测试了几次,它似乎可以工作。
我担心的是:
数据为 8 位字符,可能代表国际 总行长不超过 1000 个 8 位的字符 人物。有关此 8 位 MIME 传输的详细信息 扩展,请参阅 IETF RFC 6152。
什么决定了行长?在我的示例中,被编码的二进制数据碰巧有一个 8 位字符,每 1000 个或更少的字符映射到一个新行……但使用 8 位编码不是一个可行的解决方案电子邮件附件?
【问题讨论】:
标签: c# .net email encoding smtp