用Python发邮件(附完整源代码)

目录

一、背景

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:

用Python发邮件(附完整源代码)_第1张图片

图2

 3)下滑找到服务开启,根据提示进行验证

如下图3

用Python发邮件(附完整源代码)_第2张图片

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:

用Python发邮件(附完整源代码)_第3张图片

 图4

六、总结

6.1、总结

1)需要的功能已完成,邮件可成功发送;

2)有没有其他更好的提醒方式?

        脑子空白。。

你可能感兴趣的:(今日无事,爬虫,Python,python,自动化,中间件)