【问题标题】:Python: An email with inline jpg can be read by Thunderbird but not by Apple clients and gmail web email clientsPython:内嵌 jpg 的电子邮件可以被 Thunderbird 读取,但不能被 Apple 客户端和 gmail 网络电子邮件客户端读取
【发布时间】:2018-08-02 21:02:56
【问题描述】:

我正在编写一个简单的脚本来在 Python 3.5 中发送带有内嵌图片的电子邮件;因为我是初学者,所以以官方文档为例:19.1.14.1. Examples using the Provisional API

嗯,生成的电子邮件可以被 Thunderbird 正确读取,但不能被其他电子邮件客户端(如 Apple Mail 和 Gmail 基于网络的电子邮件)读取。

比较相同的消息(具有相同的附件),似乎内联附件的编码不同。

在示例中只有一行:

with open("roasted-asparagus.jpg", 'rb') as img:
msg.get_payload()[1].add_related(img.read(), 'image', 'jpeg', cid=asparagus_cid)

...应该可以神奇地读取 jpg 并正确编码。

  1. 有类似经历和/或建议的人吗?
  2. 有一个完整的 Python 高级库来正确处理带有附件的电子邮件的构建和发送?内置库 (smtplib) 似乎太低级了……在 PHP 中有 PHPMailer:Python 中有类似的东西?

感谢您的回答。

【问题讨论】:

  • 请注意,在 Stack Overflow 上明确禁止图书馆推荐问题。快速搜索 PyPi 应该是您的第一站,最好是在向他人寻求帮助之前。

标签: python python-3.x email email-attachments


【解决方案1】:

Python 3.5 库在生成 Base64 编码附件时存在问题;所有讨论都在这里:python forum discussion

我解决了简单地将 Python 升级到 3.6 版并正常工作。

另请注意,生成的电子邮件(代码取自官方文档)和库 v. 3.5 的垃圾邮件点比使用库 v. 3.6 生成的邮件要高。

像往常一样,欢迎任何其他想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-24
    • 2015-09-26
    • 2019-05-19
    • 2016-05-20
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多