python发邮件设置 Content-Transfer-Encoding
时间: 2023-11-24 13:05:13 浏览: 227
python 发送邮件
在 Python 中发送邮件时,可以通过设置 MIMEText 的 `set_charset` 方法来设置编码方式,进而设置 Content-Transfer-Encoding。
例如,如果要将邮件正文设置为 UTF-8 编码方式,可以这样做:
```python
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 邮件内容
mail_body = '这是一封测试邮件'
# 创建 MIMEText 对象,设置编码方式为 UTF-8
mail_msg = MIMEText(mail_body, 'plain', 'utf-8')
mail_msg['Subject'] = Header('测试邮件', 'utf-8')
mail_msg['From'] = 'sender@example.com'
mail_msg['To'] = 'receiver@example.com'
# 发送邮件
smtp = smtplib.SMTP('smtp.example.com')
smtp.login('username', 'password')
smtp.sendmail('sender@example.com', 'receiver@example.com', mail_msg.as_string())
smtp.quit()
```
在这个例子中,我们创建了一个 MIMEText 对象 `mail_msg`,并设置编码方式为 UTF-8。然后将这个对象转换成字符串,发送邮件。在这个过程中,Python 会自动添加 Content-Transfer-Encoding 头部信息,其值为 base64,因为 MIMEText 默认会将邮件内容进行 base64 编码。如果需要其他编码方式,可以在 MIMEText 的构造函数中设置 `charset` 参数。
阅读全文