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

使用Python的smtplib模块发送邮件时如何处理发件人和收件人的中文字符

发布时间:2024-01-16 04:13:02

在使用smtplib模块发送邮件时,需要注意处理发件人和收件人的中文字符。下面是一个示例,演示了如何使用smtplib模块发送邮件,并处理包含中文字符的发件人和收件人的情况:

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

# 邮件发送方和接收方信息
sender = '发件人邮箱'
receiver = '收件人邮箱'

# 邮件内容和主题
subject = '测试邮件'
body = '这是一封测试邮件。'

# 中文字符处理
subject = Header(subject, 'utf-8').encode()
body = MIMEText(body, 'plain', 'utf-8')

# 构造邮件对象
msg = MIMEText(body, 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = sender
msg['To'] = receiver

# 发送邮件
try:
    smtpObj = smtplib.SMTP('smtp.邮箱服务器地址', 25)
    smtpObj.login('发件人邮箱', '密码')
    smtpObj.sendmail(sender, receiver, msg.as_string())
    smtpObj.quit()
    print("邮件发送成功")
except smtplib.SMTPException:
    print("Error: 无法发送邮件")

在以上示例中,首先需要导入smtplib模块,以及相关的类和方法。然后,设置发件人和收件人的邮箱地址。注意要使用Header类处理邮件的主题,以及使用MIMEText类处理邮件的正文内容。在设置发件人和收件人时,需要使用Header类和encode()方法将中文字符进行编码处理。最后,使用SMTP方法发送邮件。