我正在做一个电子邮件项目。由于我不会在这里讨论的原因,在客户环境中对长电子邮件消息进行引用打印编码是有问题的。
对我们发送的 SMTP 电子邮件的 HTML 和文本部分进行 base64 编码似乎是一个可行的选择。在测试它时,它似乎在几个测试客户端(如 Gmail)中工作得很好。
但是我想知道这是否会在不同的电子邮件客户端中出现任何问题。从阅读 RFC 规范来看,base64 似乎是文本部分的兼容编码,但对于文本和 html 部分来说已经足够不寻常了,我想知道是否有任何潜在问题需要考虑。
看起来有问题的可能性的事情:
有人有经验可以分享吗?这似乎是一个很好的解决方案,但我想确保我没有遗漏任何东西。
最佳答案
这很难回答——是的,quoted-printable
更经常使用,因为它浪费的字节更少(在主要是 ASCII 的文本上)并且因为邮件正文部分的原始文本类似于解码的输出(在主要是 ASCII 的文本上)。没有什么禁止使用 base64
不过,对于文本消息部分。
这几乎是一个悬而未决的问题——您永远无法确定某处的 MUA 不会被无望地破坏到不显示任何内容的程度。那里有很多“也许”,你是对的——但问题是你永远不会知道。如果它能让你睡得更好,以下公司在我收到的营销垃圾邮件中都使用 base64 编码的 HTML:
任何可以显示嵌入图像的 MUA 都必须包含一个 base64 解码器。 MUA 绝对有可能明确拒绝使用该代码进行解码
text/plain
和 text/html
,但在那种情况下,无论如何你都被搞砸了。一个有趣的事实是,其中一家公司很乐意在多字节字符内的字节边界处打破 UTF-8 编码主题,并将文本的两半编码为单独的编码字(此处为 RFC2047 术语)。
关于email - 将使用内容传输编码 : base64 for text and html email present any issues?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16207375/