python-3.x - 如何在 python 中设置 Content-Transfer-Encoding
问题描述
一些用户将内容传输编码类型设置为 base64。如何手动设置 Content-Transfer-Encoding。
import smtplib
from email.message import EmailMessage
from email.encoders import encode_7or8bit
msg = EmailMessage()
msg.set_content(message,subtype='html')
#msg.set_charset('UTF-8')
msg['Subject'] ="your order is {} at {}".format(order_id,today_is)
msg['From'] = 'email@gmail.com'
msg['To'] = 'toemail@gmail.com'
encode_7or8bit(msg)
这是我得到的错误。
ValueError: There may be at most 1 Content-Transfer-Encoding headers in a message
如果我移到encode_7or8bit(msg)
上面msg.set_content
它可以工作,但我认为内容没有被设置。我应该把东西寄到set_content
解决方案
import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg.set_content(message,subtype='html',charset='utf-8',cte='7bit')
msg['Subject'] ="your order is {} at {}".format(order_id,today_is)
msg['From'] = 'email@gmail.com'
msg['To'] = 'toemail@gmail.com'
我msg.set_content()
必须发送 cte。
Python 3 电子邮件内容编码类型
推荐阅读
- java - 有人可以向我解释以下用于递归的 Java 片段吗?
- php - Codeigniter 4实体属性转换为数组不自动序列化
- react-native - 默认 React Native 应用程序的打字稿注释错误?
- maven - java包名称和build.gradle中代码的依赖关系之间是否存在关系?
- laravel - Laravel 将图像嵌入电子邮件中,将图像显示为 Apple Mail 中的实际大小
- php - 子域上的 Laravel 护照令牌
- maven - 在 generate-sources 阶段,Maven 如何知道输入文件来自哪里以及输出文件去哪里?
- spring-cloud-dataflow - org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; 错误的 SQL 语法 [SELECT DEFINITION_NAME, DEFINITION FROM TASK_DEFINITIONS
- python - 一个变量是否有可能识别出它持有一个字典变量并相应地使用它
- c# - ASP.NET Core JWT 令牌无法通过 HttpClient 工作