用Python发邮件(附完整源代码)
Python 完整 源代码 发邮件
2023-09-11 14:16:59 时间
目录
一、背景
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)有没有其他更好的提醒方式?
脑子空白。。
相关文章
- Python虚拟环境的安装和配置-virtualenv与windows下多个python版本共存
- python for dl
- python之simplejson,Python版的简单、 快速、 可扩展 JSON 编码器/解码器
- Python - Learning
- 【python基础】Linux环境下非root用户安装Python和第三方包
- Python 日期和时间_python 当前日期时间_python日期格式化
- Python 用os和win32api库模仿DOS命令dir (完整实例)
- Python fractions模块 —— 分数相关函数
- Python:更改默认启动的python程序及其对应的安装包路径(更改pip的默认安装包的路径)图文教程之详细攻略
- Python:pmml格式文件的简介、安装、使用方法(利用python将机器学习模型转为Java常用的pmml格式文件)之详细攻略
- Python编程语言学习:python中与数字相关的函数(取整等)、案例应用之详细攻略
- 《看漫画学Python》1、2版分享,python最佳入门教程,中学生用业余时间都能学会,北大教授看完都这样定义它
- 使用python采集某二手房源数据并做数据可视化展示(含完整源代码)
- 从零开始学python | 什么是Python JSON?
- 太香了!只需一行代码就可以在Python中创建数据可视化!
- python查看程序运行时间
- python requests模块手动设置cookies的几种方式
- Python最详细的Excel操作方式,你值得拥有
- python进行网格分割
- kafka-python中消费参数auto.offset.reset详解
- Python数学基础二、利用正弦sin求曲边图形的面积
- python下openVINO使用遇到from .ie_api import * ImportError: DLL load failed的终极解决方案
- Python基于改进FCN&VGG的高分辨率遥感图像分割(完整源码&数据集&视频教程)