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自动化工具日志查询分析脚本代码实现
Nov 26 Python
Python自动化构建工具scons使用入门笔记
Mar 10 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 Python
python 编写简单网页服务器的实例
Jun 01 Python
python读取.mat文件的数据及实例代码
Jul 12 Python
python中时间转换datetime和pd.to_datetime详析
Aug 11 Python
wxpython+pymysql实现用户登陆功能
Nov 19 Python
Python逐行读取文件内容的方法总结
Feb 14 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
Python socket连接中的粘包、精确传输问题实例分析
Mar 24 Python
python中关于数据类型的学习笔记
Jul 19 Python
如何基于Django实现上下文章跳转
Sep 16 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
第九节 绑定 [9]
2006/10/09 PHP
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
php封装的验证码类分享
2017/02/26 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
javascript 对象定义方法 简单易学
2009/03/22 Javascript
JavaScript 事件冒泡简介及应用
2010/01/11 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
2012/10/12 Javascript
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
控制文字内容的显示与隐藏示例
2014/06/11 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
JQuery跳出each循环的方法
2015/04/16 Javascript
js给selected添加options的方法
2015/05/06 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
NODE.JS跨域问题的完美解决方案
2016/10/20 Javascript
通过js动态创建标签,并设置属性方法
2018/02/24 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
微信小程序登录时如何获取input框中的内容
2019/12/04 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
python爬取淘宝商品详情页数据
2018/02/23 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
Python Pandas 箱线图的实现
2019/07/23 Python
Python3 sys.argv[ ]用法详解
2019/10/24 Python
Django框架models使用group by详解
2020/03/11 Python
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
2014年健康教育实施方案
2014/02/17 职场文书
2014年元旦促销活动方案
2014/02/22 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书