Python中发送中文邮件的email.mime.text相关设置
发布时间:2024-01-11 10:37:18
发送中文邮件是在Python中使用email库发送邮件的常见需求之一。为了发送中文邮件,可以使用email.mime.text模块来创建一个包含中文内容的邮件。
下面是一个使用email.mime.text发送中文邮件的示例代码:
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
# 发件人邮箱账号
sender = 'your_email@example.com'
# 发件人邮箱密码(注意不是登录密码,某些邮箱服务商需要使用授权码)
password = 'your_password'
# 收件人邮箱账号
receiver = 'recipient_email@example.com'
# 邮件标题
subject = '测试邮件'
# 邮件内容(使用HTML格式)
content = '<h1>这是一封测试邮件,用于测试发送中文邮件。</h1>'
# 创建一个MIMEText对象, 个参数是邮件内容,第二个参数是内容类型(plain纯文本、html HTML)
message = MIMEText(content, 'html', 'utf-8')
# 设置邮件头部信息
message['From'] = formataddr(('发件人昵称', sender))
message['To'] = formataddr(('收件人昵称', receiver))
message['Subject'] = subject
try:
# 创建一个SMTP对象,默认端口号为25
smtpObj = smtplib.SMTP()
# 连接SMTP服务器, 个参数是SMTP服务器地址,第二个参数是SMTP端口号
smtpObj.connect('smtp.example.com', 25)
# 登录SMTP服务器, 个参数是邮箱账号,第二个参数是邮箱密码
smtpObj.login(sender, password)
# 发送邮件, 个参数是发件人邮箱账号,第二个参数是收件人邮箱账号,第三个参数是邮件内容
smtpObj.sendmail(sender, [receiver], message.as_string())
# 关闭SMTP连接
smtpObj.quit()
print('邮件发送成功')
except Exception as e:
print('邮件发送失败:', e)
这个示例中,首先我们导入了需要的模块:smtplib用于发送邮件,MIMEText用于创建包含中文内容的邮件,formataddr用于格式化邮件地址。
然后,我们指定了发件人和收件人的邮箱账号和密码,以及邮件的标题和内容。
接下来,我们创建了一个MIMEText对象,指定了邮件内容和内容类型。然后,我们设置了邮件头部信息,包括发件人、收件人和邮件标题。
最后,我们使用smtplib.SMTP类创建了一个SMTP对象,并连接到SMTP服务器,使用指定的账号和密码登录SMTP服务器。然后,我们调用sendmail方法发送邮件,并传入发件人、收件人和邮件内容,最后关闭了SMTP连接。
这样,我们就可以使用这个示例代码来发送一封包含中文内容的邮件了。
需要注意的是,发送邮件的SMTP服务器地址、端口号,以及发件人和收件人的邮箱账号和密码需要根据实际情况进行替换。
