email - 将使用内容传输编码 : base64 for text and html email present any issues?

标签 email smtp base64

我正在做一个电子邮件项目。由于我不会在这里讨论的原因,在客户环境中对长电子邮件消息进行引用打印编码是有问题的。

对我们发送的 SMTP 电子邮件的 HTML 和文本部分进行 base64 编码似乎是一个可行的选择。在测试它时,它似乎在几个测试客户端(如 Gmail)中工作得很好。

但是我想知道这是否会在不同的电子邮件客户端中出现任何问题。从阅读 RFC 规范来看,base64 似乎是文本部分的兼容编码,但对于文本和 html 部分来说已经足够不寻常了,我想知道是否有任何潜在问题需要考虑。

看起来有问题的可能性的事情:

  • 也许一些较旧或不太强大的客户端不希望在文本或 HTML 电子邮件部分使用 base64,并且无法对其进行编码
  • 也许某些电子邮件客户端会根据原始内容进行预览或搜索,因此收件人会看到 base64 而不是实际内容
  • 也许 base64 会对送达率/垃圾邮件评分产生负面影响?

  • 有人有经验可以分享吗?这似乎是一个很好的解决方案,但我想确保我没有遗漏任何东西。

    最佳答案

    这很难回答——是的,quoted-printable更经常使用,因为它浪费的字节更少(在主要是 ASCII 的文本上)并且因为邮件正文部分的原始文本类似于解码的输出(在主要是 ASCII 的文本上)。没有什么禁止使用 base64不过,对于文本消息部分。
    这几乎是一个悬而未决的问题——您永远无法确定某处的 MUA 不会被无望地破坏到不显示任何内容的程度。那里有很多“也许”,你是对的——但问题是你永远不会知道。如果它能让你睡得更好,以下公司在我收到的营销垃圾邮件中都使用 base64 编码的 HTML:

  • Mellanox
  • Alza.cz
  • Aukro.cz
  • 现代物理学报

  • 任何可以显示嵌入图像的 MUA 都必须包含一个 base64 解码器。 MUA 绝对有可能明确拒绝使用该代码进行解码 text/plaintext/html ,但在那种情况下,无论如何你都被搞砸了。
    一个有趣的事实是,其中一家公司很乐意在多字节字符内的字节边界处打破 UTF-8 编码主题,并将文本的两半编码为单独的编码字(此处为 RFC2047 术语)。

    关于email - 将使用内容传输编码 : base64 for text and html email present any issues?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16207375/

    相关文章:

    ios - ResearchKit:验证电子邮件

    php - 通过网络服务器运行时无法发送邮件,但能够使用相同的 php 脚本从命令行发送

    iOS Email Field Data 无需打开 Apple Mail 直接发送至电子邮件

    java - 我的项目需要哪些 Java Mail JAR?

    c# - 使用 System.Net.Mail 加速通过 smtp 服务器发送多封电子邮件

    python-3.x - 使用带有 Python 的 smtp 发送电子邮件时出现 SSL 错误

    go - Base64 编码不会因无效字符而失败

    html - 编码要通过电子邮件发送的HTML,Outlook中的Google字体默认为Times New Roman,该如何解决?

    C# FromBase64String 的 Javascript 等效项

    php - 存储在 Mysql BLOB 中的图像,尝试显示时出错