python3使用SMTP发送简单文本邮件
2019/7/15 0:37:47
本文主要是介绍python3使用SMTP发送简单文本邮件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、设置开启SMTP服务并获取授权码
0.如果使用第三方邮件服务器SMTP服务来发送邮件,首先要在邮箱设置里面开启POP3/SMTP/IMAP服务,下面以163邮箱为例,其它邮箱设置方法相同
163邮箱SMTP服务器:smtp.163.com
QQ邮箱SMTP服务器:smtp.qq.com
1.首先登录自己的邮箱,找到【设置】》【POP3/SMTP/IMAP】,开启相应的服务
2.然后开启并获取客户端授权码(这里的授权码并不是登录邮箱时的密码,而是第三方邮箱服务使用的授权码)
二、使用Python3 发送邮件
0.使用的环境为:
Python 3.6.3 (64bit)
PyCharm 2017.3 (64bit)
1.实现代码:
import smtplib from email.header import Header # 用来设置邮件头和邮件主题 from email.mime.text import MIMEText # 发送正文只包含简单文本的邮件,引入MIMEText即可 # 发件人和收件人 sender = 'XXXXXXXXXXX@163.com' receiver = 'XXXXXXXXX@qq.com' # 所使用的用来发送邮件的SMTP服务器 smtpServer = 'smtp.163.com' # 发送邮箱的用户名和授权码(不是登录邮箱的密码) username = 'XXXXXXXXXXX' password = 'XXXXXXXX' mail_title = '这里是邮件的主题' mail_body = '这里是邮件的正文' # 创建一个实例 message = MIMEText(mail_body, 'plain', 'utf-8') # 邮件正文 message['From'] = sender # 邮件上显示的发件人 message['To'] = receiver # 邮件上显示的收件人 message['Subject'] = Header(mail_title, 'utf-8') # 邮件主题 try: smtp = smtplib.SMTP() # 创建一个连接 smtp.connect(smtpServer) # 连接发送邮件的服务器 smtp.login(username, password) # 登录服务器 smtp.sendmail(sender, receiver, message.as_string()) # 填入邮件的相关信息并发送 print("邮件发送成功!!!") smtp.quit() except smtplib.SMTPException: print("邮件发送失败!!!")
2.发送成功之后,如果在收件人的邮箱看不到邮件,可能是被当做垃圾邮件拦截了,可以去拦截记录里面找一下
发送方发送的邮件:
接收方收到的邮件:
3.这里是发送最简单的格式的邮件的示例,正文只包含文本
还可以发送:
正文为HTML格式的邮件
包含附件的邮件(附件可以是HTML网页,TXT文本,JPG图片,以及音频、视频等)
后面继续讲
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持找一找教程网。
这篇关于python3使用SMTP发送简单文本邮件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门