![由于可打印引用邮件中的点编码,邮件签名无效](https://linux22.com/image/792335/%E7%94%B1%E4%BA%8E%E5%8F%AF%E6%89%93%E5%8D%B0%E5%BC%95%E7%94%A8%E9%82%AE%E4%BB%B6%E4%B8%AD%E7%9A%84%E7%82%B9%E7%BC%96%E7%A0%81%EF%BC%8C%E9%82%AE%E4%BB%B6%E7%AD%BE%E5%90%8D%E6%97%A0%E6%95%88.png)
这是一个转发,因此我将链接该帖子: https://security.stackexchange.com/q/274208/227343
我正在发送一封使用引用的可打印编码进行编码的邮件,其中包含一些点“。”。特定邮件服务器/客户存在问题。由于某种原因,他们收到的邮件格式是每个点都被编码为 =2E,最终破坏了签名。什么系统可以做到这一点?标准中也没有定义对点进行编码。最佳实践解决方案是什么?对每个点进行编码以防止系统转换?你们中有人遇到过这个问题吗?谢谢
编辑:一些附加信息。我使用电子邮件包通过 python 发送邮件。quoted-printable 编码将使用 python3 中的 set_content 方法进行。此问题仅发生在特殊邮件服务器上。以下是示例电子邮件:
离开我的程序后的邮件:
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
<!DOCTYPE html><html><h1>Test Email</h1><p>This is a test email. Showing En=
coding of points in quoted-printable.</p></html>
测试邮件客户端收到的邮件:
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
<!DOCTYPE html><html><h1>Test Email</h1><p>This is a test email=2E Showing =
Encoding of points in quoted-printable=2E</p></html>