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

Python中使用email.mime.text发送中文邮件的示例代码

发布时间:2024-01-11 10:35:22

下面是使用email.mime.text发送中文邮件的示例代码:

import smtplib
from email.mime.text import MIMEText

# 邮件配置
sender = 'sender@example.com'
receiver = 'receiver@example.com'
subject = '测试邮件'
smtp_server = 'smtp.example.com'
smtp_port = 587
username = 'username'
password = 'password'

# 邮件内容
message = MIMEText('这是一封测试邮件。', 'plain', 'utf-8')
message['From'] = sender
message['To'] = receiver
message['Subject'] = subject

try:
    # 连接SMTP服务器
    server = smtplib.SMTP(smtp_server, smtp_port)
    server.ehlo()
    server.starttls()
    server.login(username, password)
    
    # 发送邮件
    server.sendmail(sender, receiver, message.as_string())
    server.close()
    print('邮件发送成功')
except Exception as e:
    print('邮件发送失败: {}'.format(str(e)))

上面的代码首先导入了smtplibemail.mime.text模块,分别用于SMTP邮件发送和构造MIME邮件内容。

然后,设置了邮件配置,包括发件人、收件人、主题、SMTP服务器地址、SMTP服务器端口、用户名和密码。

接下来,通过MIMEText类构建了邮件内容。在构建MIMEText对象时,参数plain表示邮件内容为纯文本,utf-8表示使用UTF-8编码。可以将纯文本替换为HTML内容,以发送HTML格式邮件。

最后,通过smtplib.SMTP类连接SMTP服务器,并调用ehlo()方法以向服务器发送HELO命令。然后,使用starttls()方法启用TLS加密。接着,调用login()方法使用SMTP服务器凭据进行身份验证。

最后,调用sendmail()方法发送邮件,并通过close()方法关闭与SMTP服务器的连接。

注意,上面的代码只是一个示例,需要根据实际情况填写正确的邮件配置。