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中实现两个字典(dict)合并的方法
Sep 23 Python
在Python中测试访问同一数据的竞争条件的方法
Apr 23 Python
基于hashlib模块--加密(详解)
Jun 21 Python
浅谈Pandas 排序之后索引的问题
Jun 07 Python
python读出当前时间精度到秒的代码
Jul 05 Python
利用Python绘制有趣的万圣节南瓜怪效果
Oct 31 Python
python plotly画柱状图代码实例
Dec 13 Python
python读取hdfs上的parquet文件方式
Jun 06 Python
Python unittest discover批量执行代码实例
Sep 08 Python
Python urllib3软件包的使用说明
Nov 18 Python
matplotlib制作雷达图报错ValueError的实现
Jan 05 Python
Python基础之函数嵌套知识总结
May 23 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
PHP操作MongoDB GridFS 存储文件的详解
2013/06/20 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
php使用json_encode对变量json编码
2014/04/07 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
2014/06/19 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
PHP实现验证码校验功能
2017/11/16 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
PHP时间类完整代码实例
2021/02/26 PHP
javascript globalStorage类代码
2009/06/04 Javascript
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
JS截取与分割字符串常用技巧总结
2015/11/10 Javascript
JavaScript黑洞数字之运算路线查找算法(递归算法)实例
2016/01/28 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
BootstrapValidator不触发校验的实现代码
2016/09/28 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
React Native中TabBarIOS的简单使用方法示例
2017/10/13 Javascript
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
2019/04/30 Javascript
vue选项卡切换登录方式小案例
2019/09/27 Javascript
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
Python中的两个内置模块介绍
2015/04/05 Python
python温度转换华氏温度实现代码
2020/12/06 Python
英国最大的汽车交易网站:Auto Trader UK
2016/09/23 全球购物
W Concept美国:精选全球独立设计师
2017/02/22 全球购物
英国最大的LED专业零售商:Led Hut
2018/03/16 全球购物
Vita Fede官网:在意大利手工制作,在纽约市设计
2019/10/25 全球购物
网络管理专业求职信
2014/03/15 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
公司的力量观后感
2015/06/05 职场文书
学生会干部任命书
2015/09/21 职场文书