欢迎访问宙启技术站
智能推送

如何在Python中设置电子邮件标题的中文字符集

发布时间:2023-12-16 18:20:55

在Python中设置电子邮件标题的中文字符集可以使用email库的header模块。header模块提供了各种字符集编码和解码的方法,来处理邮件标题中的中文字符。

以下是一个使用示例:

import smtplib
from email.header import Header
from email.mime.text import MIMEText

# 设置邮件标题和内容
subject = "Python 邮件测试"
content = "这是一封测试邮件"

# 创建邮件,并设置标题和内容
msg = MIMEText(content, "plain", "utf-8")
msg["Subject"] = Header(subject, 'utf-8').encode()

# 发送邮件
sender = "your_email@example.com"
receiver = "recipient@example.com"

# 设置SMTP服务器地址和端口
smtp_server = "smtp.example.com"
smtp_port = 587

try:
    # 登录SMTP服务器
    smtp_obj = smtplib.SMTP(smtp_server, smtp_port)
    smtp_obj.ehlo()
    smtp_obj.starttls()
    smtp_obj.login(sender, "your_password")

    # 发送邮件
    smtp_obj.sendmail(sender, receiver, msg.as_string())
    smtp_obj.quit()
    print("邮件发送成功")
except Exception as e:
    print("邮件发送失败:" + str(e))

在代码中,我们使用email.mime.text模块创建了一个纯文本的MIME对象。然后,使用email.header模块的Header函数对邮件标题进行编码,并使用encode方法设置字符集为utf-8。接下来,通过SMTP对象的sendmail方法发送邮件。

使用以上代码,在Python中发送邮件时可以设置邮件标题的中文字符集,并确保正确显示中文字符。