import smtplib
from email.header import Header
# 负责将多个对象集合起来
from email.mime.multipart import MIMEMultipart
# 负责构造文本
from email.mime.text import MIMEText
# SMTP服务器,此处163邮箱
mail_host = "smtp.163.com"
# 发件人邮箱
mail_sender = "邮箱"
# 邮箱授权码
mail_license = "授权码"
# 收件人邮箱
mail_receivers = ["收件人邮箱", ]
mm = MIMEMultipart('related')
# 邮件主题
subject_content = """PYTHON邮件测试"""
# 发送者
mm["From"] = mail_sender
# 接收者
mm["To"] = ','.join(mail_receivers)
mm["Subject"] = Header(subject_content, 'utf-8')
# 邮件正文内容
body_content = """你好,这是一个测试邮件!<hr/>"""
# 构造文本,参数1:正文内容,参数2:文本格式,参数3:编码方式
message_text = MIMEText(body_content, "plain", "utf-8")
# 向MIMEMultipart对象中添加文本对象
mm.attach(message_text)
# 创建SMTP对象
smtp = smtplib.SMTP()
# 设置发件人邮箱的域名和端口,端口地址为25
smtp.connect(mail_host, 25)
# set_debuglevel(1)可以打印出和SMTP服务器交互的所有信息
# smtp.set_debuglevel(1)
# HELO向服务器标识用户的身份
smtp.helo(mail_host)
# EHLO接收服务器返回结果确认
smtp.ehlo(mail_host)
# 登录邮箱:邮箱地址,邮箱授权码
smtp.login(mail_sender, mail_license)
# 发送邮件,传递参数1:发件人邮箱地址,参数2:收件人邮箱地址,参数3:把邮件内容格式改为str
smtp.sendmail(mail_sender, mail_receivers, mm.as_string())
print("邮件发送成功")
# 关闭SMTP对象
smtp.quit()
python发送邮件
于 2024-07-11 15:50:37 首次发布