一、邮件发送基本流程
1.准备邮箱账号和密码(授权码)
账号:1937813992@qq.com
授权码:ipfjbjttyrtjbdcf
2.连接邮箱服务器(相当于打开邮箱网站)
import smtplib
connect = smtplib.SMTP_SSL('smtp.qq.com', 465)
3.登录邮箱账号
connect.login('1937813992@qq.com', 'ipfjbjttyrtjbdcf')
4.准备邮件内容(写邮件)
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText
1)创建一个空的邮件对象
mail = MIMEMultipart()
2)设置邮件主题
mail['Subject'] = Header('zouyan学习笔记', 'utf-8').encode()
3)设置收件人信息
mail['To'] = 'T_J<726550822@qq.com>'
4)设置发件人信息
mail['From'] = 'kuangbiaoTeam <1937813992@qq.com>'
5)正文类型:plain - 普通文本、HTML - 超文本
text = MIMEText('kljkjjhlkjhjfhgka', 'plain', 'utf-8')
mail.attach(text)
5.发送邮件
connect.sendmail('1937813992@qq.com', '726550822@qq.com', mail.as_string())
6.关闭连接(关闭网站)
connect.quit()
二、发送附件
# 1.准备图片
f1 = open('files/r.jpg', 'rb')
# 2.创建图片对象
image1 = MIMEImage(f1.read())
# 3.给图片添加id
image1.add_header('Content-ID', '<i1>')
# 4.将图片关联到邮件中
mail.attach(image1)
# 5.在正文中使用图片
# 正文添加图片的格式:<img src="cid:图片的id值“,width=”宽度“> 在HTML中不能有空格
# html中<br>就是换行
text = MIMEText('结果是:<br><br> <img src="cid:i1" width="300">', 'html', 'utf-8')
mail.attach(text)
三、 发送图片
# 1.打开文件获得文件对象
f1 = open('files/2021年川渝高校信息素养大赛__校内选拔赛命题范围及备赛建议.pdf', 'rb')
# 2.创建附件对应的文本对象
a1 = MIMEText(f1.read(), 'base64', 'utf-8')
# 3.设置附件信息
a1['Content-Disposition'] = 'attachment;filename="data1.pdf"'
# 4.将附件添加邮件中
mail.attach(a1)
四、 发送超文本邮件内容
connect = smtplib.SMTP_SSL('smtp.qq.com', 465)
connect.login('726550822@qq.com', 'ezvhhcqvjzpbbegd')
mail = MIMEMultipart()
mail['Subject'] = Header('网上购票系统-候补订单兑现成功通知', 'utf-8').encode()
mail['To'] = 'y_t209@163.com'
mail['From'] = 'YUTING <726550822@qq.com>'
html = open('data.html', 'rt', encoding='utf-8').read()
text = MIMEText(html, 'html', 'utf-8')
mail.attach(text)