Python使用QQ邮箱发送Email的方法实例


Posted in Python onFebruary 09, 2017

前言

其实Python使用QQ邮箱发送Email代码很简单,短短几行代码就可以实现这个功能。

使用到的模块有smtplib和email这个两个模块,关于这两个模块的方法就不多说了。不了解的朋友们可以查看这篇文章:python中使用smtplib和email模块发送邮件实例

我们先说说网上常用的使用这那两个模块发送邮件的方法

代码如下:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

def SendEmail(fromAdd, toAdd, subject, attachfile, htmlText):
 strFrom = fromAdd;
 strTo = toAdd;
 msg =MIMEText(htmlText);
 msg['Content-Type'] = 'Text/HTML';
 msg['Subject'] = Header(subject,'gb2312');
 msg['To'] = strTo;
 msg['From'] = strFrom;
 
 smtp = smtplib.SMTP('smtp.qq.com');
 smtp.login('501257367@qq.com','password');
 try:
 smtp.sendmail(strFrom,strTo,msg.as_string());
 finally:
 smtp.close;

if __name__ == "__main__":
 SendEmail("501257367@qq.com","501257367@qq.com","","hello","hello world");

运行结果:

smtplib.SMTPAuthenticationError: (530, 'Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28')

报错,需要一个安全的连接,例如SSL,因此接下来我们会使用SSL的方式去登录,但是在那之前,我们需要做一些准备,打开qq邮箱,点击设置->

账户,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启IMAP/SMTP服务,然后根据要求使用手机发送到指定号码,获取授权码,

这个授权码就是你接下来登录要使用的密码,配置完成,上代码

import smtplib
from email.mime.text import MIMEText
_user = "你的qq邮箱"
_pwd = "你的授权码"
_to = "501257367@163.com"

msg = MIMEText("Test")
msg["Subject"] = "don't panic"
msg["From"] = _user
msg["To"] = _to

try:
 s = smtplib.SMTP_SSL("smtp.qq.com", 465)
 s.login(_user, _pwd)
 s.sendmail(_user, _to, msg.as_string())
 s.quit()
 print "Success!"
except smtplib.SMTPException,e:
 print "Falied,%s"%e

运行结果如下:

Python使用QQ邮箱发送Email的方法实例

总结

好了,大功告成!以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流。

Python 相关文章推荐
python基础练习之几个简单的游戏
Nov 10 Python
Python通过Django实现用户注册和邮箱验证功能代码
Dec 11 Python
浅谈python中对于json写入txt文件的编码问题
Jun 07 Python
有关Python的22个编程技巧
Aug 29 Python
Python实现连接MySql数据库及增删改查操作详解
Apr 16 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
May 27 Python
Django自定义用户登录认证示例代码
Jun 30 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
Dec 18 Python
使用PyCharm安装pytest及requests的问题
Jul 31 Python
python中reload重载实例用法
Dec 15 Python
Python实现微信表情包炸群功能
Jan 28 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
Feb 20 Python
python3中bytes和string之间的互相转换
Feb 09 #Python
python实现下载文件的三种方法
Feb 09 #Python
Python如何实现守护进程的方法示例
Feb 08 #Python
详解Python中表达式i += x与i = i + x是否等价
Feb 08 #Python
Python实现的多线程http压力测试代码
Feb 08 #Python
Python实现定时任务
Feb 08 #Python
python使用matplotlib绘制柱状图教程
Feb 08 #Python
You might like
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
JavaScript 中的事件教程
2007/04/05 Javascript
js实现兼容IE6与IE7的DIV高度
2010/05/13 Javascript
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
jQuery的end()方法使用详解
2015/07/15 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
vue自定义标签和单页面多路由的实现代码
2020/05/03 Javascript
angular *Ngif else用法详解
2020/12/15 Javascript
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
Python遍历目录中的所有文件的方法
2016/07/08 Python
tensorflow TFRecords文件的生成和读取的方法
2018/02/06 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
Python中format()格式输出全解
2019/04/12 Python
Python3中列表list合并的四种方法
2019/04/19 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
2019/10/23 Python
Pycharm导入anaconda环境的教程图解
2020/07/31 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
网易微博Web App用HTML5开发的过程介绍
2012/06/13 HTML / CSS
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
煤矿班组长的职责
2013/12/25 职场文书
尊老爱幼演讲稿
2014/09/04 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
嘉宾邀请函
2015/01/31 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
史上最全书信经典范文大全(建议收藏)
2019/07/10 职场文书
《童年》读后感(三篇)
2019/08/27 职场文书
MySQL count(*)统计总数问题汇总
2022/09/23 MySQL