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

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服务器地址、端口号,以及发件人和收件人的邮箱账号和密码需要根据实际情况进行替换。