目录
一、背景
1.1、前言
1.2、说明
二、SMTP协议
2.1、SMTP协议作用
2.2、SSL作用
三、步骤
3.1、开启QQ邮箱SMTP
四、代码
4.1、完整源代码
五、结果
5.1、代码运行结果
六、总结
6.1、总结
一、背景
1.1、前言
写了一个简陋的2023年12306自动化购票程序,该部分要解决购票成功后发送通知的问题,通知的内容是简单的中文语句,所以学会发送简单的邮件即可,不深入了解使用的协议与发送接收具体过程;
文章链接:12306自动化购票。
1.2、说明
操作系统:win 10;
编辑器:pycharm edu;
语言及版本:python 3.10;
使用的库:smtplib、MIMEText 、Header ;
使用的协议:SMTP;
实现思路:使用QQ邮箱的SMTP协议框架,进行内容的转发。
二、SMTP协议
2.1、SMTP协议作用
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件中转方式。
关键词:邮件传输、信件中转
2.2、SSL作用
SSL (Secure Sockets Layer)安全套接层。用于保障Word Wide Web(WWW)通讯的安全。主要任务是提供私密性,信息完整性和身份认证。
关键词:私密性、身份认证
三、步骤
3.1、开启QQ邮箱SMTP
说明:发送邮件的账号开启该服务即可,接收邮件的服务不需要开启。
1)在电脑端登录QQ邮箱,登录完成后点击设置
如下图1:
图
2)在邮件设置找到账户,并点击
如下图2:
图2
3)下滑找到服务开启,根据提示进行验证
如下图3
tips:验证完成后,会有一个密钥,这个需要记住;
图3
四、代码
4.1、完整源代码
这里实现的是,我们的一个邮箱对另一个邮箱发送购票成功提示信息(另一个邮箱是哪里的邮箱都可以),这里使用的是QQ邮箱发给另一个QQ邮箱。
import smtplib # 导入协议
from email.mime.text import MIMEText # 导入发送包装
from email.header import Header # 标题包
send_addr = "发送人邮箱"
receive_addr = "接收人邮箱"
key = "验证成功出现的密钥" # 密钥
text = "成功抢到票,请前往购票平台付款!" # 发送信息正文内容
smtp_addr = "smtp.qq.com"
msg = MIMEText(text, 'plain', 'utf-8')
msg["From"] = send_addr # 发送地址
msg["To"] = receive_addr # 接收地址
msg["Subject"] = Header(text, 'utf-8') # 标题
server = smtplib.SMTP_SSL(smtp_addr, 465) # url和端口
server.login(send_addr, key) # 登录邮箱
server.sendmail(send_addr, receive_addr, msg.as_string()) # 发送方、接收方、发送信息格式等
server.quit() # 退出
五、结果
5.1、代码运行结果
如下图4:
图4
六、总结
6.1、总结
1)需要的功能已完成,邮件可成功发送;
2)有没有其他更好的提醒方式?
脑子空白。。