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中使用动态变量名的方法
May 06 Python
详解Python中使用base64模块来处理base64编码的方法
Jul 01 Python
如何将python中的List转化成dictionary
Aug 15 Python
python实现判断一个字符串是否是合法IP地址的示例
Jun 04 Python
Python实现将Excel转换成xml的方法示例
Aug 25 Python
Python玩转Excel的读写改实例
Feb 22 Python
Python面向对象程序设计构造函数和析构函数用法分析
Apr 12 Python
python实现QQ批量登录功能
Jun 19 Python
PyTorch中permute的用法详解
Dec 30 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
Jul 28 Python
Python如何将装饰器定义为类
Jul 30 Python
用Python创建简易网站图文教程
Jun 11 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
php Mysql日期和时间函数集合
2007/11/16 PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
PHP下对字符串的递增运算代码
2010/08/21 PHP
php判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
PHP 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
php事务处理实例详解
2014/07/11 PHP
PHP面向对象程序设计类的定义与用法简单示例
2016/12/27 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
2019/10/30 PHP
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
node.js中的path.basename方法使用说明
2014/12/09 Javascript
使用jQuery简单实现模拟浏览器搜索功能
2014/12/21 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
2016/04/06 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
node使用request请求的方法
2019/12/20 Javascript
Vue 打包体积优化方案小结
2020/05/20 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛 DT VS HGT
2014/05/22 DOTA
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
分享给Python新手们的几道简单练习题
2017/09/21 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
全国道德模范事迹
2014/02/01 职场文书
委托书英文
2015/01/28 职场文书
赤壁观后感(2)
2015/06/15 职场文书
MongoDB balancer的使用详解
2021/04/30 MongoDB
ajax请求前端跨域问题原因及解决方案
2021/10/16 Javascript