python3利用smtplib通过qq邮箱发送邮件方法示例


Posted in Python onDecember 03, 2017

前言

本文主要给大家介绍了关于python3 smtplib通过qq邮箱发送邮件的相关内容, smtplib模块是smtp简单邮件传输协议客户端的实现,为了通用性,有时候发送邮件的时候要带附件或图片,用email.mime来装载内容。

详细代码参考说明:Python3 SMTP发送邮件

0.了解qq邮箱的SMTP

QQ邮箱 POP3 和 SMTP 服务器地址设置如下:

邮箱 POP3服务器(端口995) SMTP服务器(端口465或587)
qq.com pop.qq.com smtp.qq.com

SMTP服务器需要身份验证。

1.开启qq邮箱的smtp服务

如何打开POP3/SMTP/IMAP功能?

为了保障用户邮箱的安全,QQ邮箱设置了POP3/SMTP/IMAP的开关。系统缺省设置是“关闭”,在用户需要这些功能时请“开启”。 首先,登录邮箱,进入设置-帐户;

python3利用smtplib通过qq邮箱发送邮件方法示例

然后,在“帐户”设置中,找到设置项,进行设置,如下:

python3利用smtplib通过qq邮箱发送邮件方法示例

最后,保存设置,即打开了相应的服务。

2.代码

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

my_sender='XXXXXXX@qq.com' # 发件人邮箱账号
my_pass = 'xxxxxxxxxxxx'    # 发件人邮箱密码(当时申请smtp给的口令)
my_user='xxxxxx@xx.com'  # 收件人邮箱账号,我这边发送给自己
def mail():
 ret=True
 try:
  msg=MIMEText('填写邮件内容','plain','utf-8')
  msg['From']=formataddr(["发件人昵称",my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号
  msg['To']=formataddr(["收件人昵称",my_user])    # 括号里的对应收件人邮箱昵称、收件人邮箱账号
  msg['Subject']="邮件主题-测试"    # 邮件的主题,也可以说是标题

  server=smtplib.SMTP_SSL("smtp.qq.com", 465) # 发件人邮箱中的SMTP服务器,端口是465
  server.login(my_sender, my_pass) # 括号中对应的是发件人邮箱账号、邮箱密码
  server.sendmail(my_sender,[my_user,],msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
  server.quit()# 关闭连接
 except Exception:# 如果 try 中的语句没有执行,则会执行下面的 ret=False
  ret=False
 return ret

ret=mail()
if ret:
 print("邮件发送成功")
else:
 print("邮件发送失败")

注意:如果收件人地址错误,但代码还是会提示"邮件发送成功",如果是地址错误在qq邮箱中会收到"来自qq.com的退信"

3.效果

发送成功

python3利用smtplib通过qq邮箱发送邮件方法示例
发送

如果在一般邮件中没看到,可以在垃圾邮件中查看

python3利用smtplib通过qq邮箱发送邮件方法示例
接收

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
May 28 Python
在Python运行时动态查看进程内部信息的方法
Feb 22 Python
Python字符串匹配之6种方法的使用详解
Apr 08 Python
pyqt5 QProgressBar清空进度条的实例
Jun 21 Python
python读写csv文件方法详细总结
Jul 05 Python
python使用Pandas库提升项目的运行速度过程详解
Jul 12 Python
python 变量初始化空列表的例子
Nov 28 Python
OpenCV python sklearn随机超参数搜索的实现
Jan 17 Python
python 使用cx-freeze打包程序的实现
Mar 14 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
Mar 19 Python
python的dict判断key是否存在的方法
Dec 09 Python
python机器学习创建基于规则聊天机器人过程示例详解
Nov 02 Python
Python中类的初始化特殊方法
Dec 01 #Python
Python抓取框架Scrapy爬虫入门:页面提取
Dec 01 #Python
Python实现调度算法代码详解
Dec 01 #Python
Python进阶学习之特殊方法实例详析
Dec 01 #Python
Python用户推荐系统曼哈顿算法实现完整代码
Dec 01 #Python
浅谈python 里面的单下划线与双下划线的区别
Dec 01 #Python
vscode 远程调试python的方法
Dec 01 #Python
You might like
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
JQuery浮动DIV提示信息并自动隐藏的代码
2010/08/29 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
详解javascript高级定时器
2015/12/31 Javascript
jQuery中通过ajax的get()函数读取页面的方法
2016/02/29 Javascript
jQuery限制图片大小的方法
2016/05/25 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
详解Python中的__new__()方法的使用
2015/04/09 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
深入解析Python中的descriptor描述器的作用及用法
2016/06/27 Python
Python使用filetype精确判断文件类型
2017/07/02 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
Python unittest单元测试框架总结
2018/09/08 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
python+selenium+Chrome options参数的使用
2020/03/18 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
运动会通讯稿300字
2014/02/02 职场文书
学生周末长期请假条
2014/02/15 职场文书
小学庆六一活动方案
2014/02/28 职场文书
护士实习求职信
2014/06/22 职场文书
教师批评与自我批评发言稿
2014/10/15 职场文书
宿舍卫生管理制度
2015/08/05 职场文书
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python
MySQL 开窗函数
2022/02/15 MySQL
我收到了德劲DE1107
2022/04/05 无线电
在Docker容器中部署SQL Server
2022/04/11 Servers