热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用QQ邮箱发送email(Python【支持中文】)

实际开发过程中使用到邮箱的概率很高,那么如何借助python使用qq邮箱发送邮件呢?代码很简单,短短几行代码就可以实现这个功能。使用到的模

实际开发过程中使用到邮箱的概率很高,那么如何借助python使用qq邮箱发送邮件呢?

代码很简单,短短几行代码就可以实现这个功能。
使用到的模块有smtplib和email这个两个模块,关于这两个模块的方法就不多说了。
我们先说说网上常用的使用这那两个模块发送邮件的方法
代码如下:

import smtplib
from email.mime.text import MIMEText
from email.header import Headerdef SendEmail(fromAdd, toAdd, subject, attachfile, htmlText):strFrom = fromAdd;strTo = toAdd;msg =MIMEText(htmlText,'plain','utf-8');msg['Content-Type'] = 'Text/HTML';msg['Subject'] = Header(subject,'utf-8').encode();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","主题","你好","你好,世界!world!");


运行结果:

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

如果发送给多人,这么写:

import smtplib
from email.mime.text import MIMEText
from email.header import HeadermultiPersion = [33333@qq.com, 666666@qq.com, 888888@qq.com]def SendEmail(fromAdd, toAdd, subject, attachfile, htmlText):strFrom = fromAdd;strTo = toAdd;msg =MIMEText(

htmlText

,'html','utf-8');msg['Content-Type'] = 'Text/HTML';msg['Subject'] = Header(subject,'utf-8').encode();msg['To'] = strTo;msg['From'] = strFrom;smtp = smtplib.SMTP('smtp.qq.com');smtp.login('422700@qq.com','password');try:smtp.sendmail(strFrom,strTo,msg.as_string());finally:smtp.close;if __name__ == "__main__":SendEmail("501257367@qq.com", multiPersion,"主题","你好","你好,世界!world!");






这样的报错,需要一个安全的连接,例如SSL,因此接下来我们会使用SSL的方式去登录,但是在那之前,我们需要做一些准备,打开qq邮箱,点击设置->
账户,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启IMAP/SMTP服务,然后根据要求使用手机发送到指定号码,获取授权码,
这个授权码就是你接下来登录要使用的密码,配置完成,代码如下:

##coding: utf-8import smtplib
from email.mime.text import MIMEText
from email.header import Header_user = "422700@qq.com"
_pwd = "xxxxxxxxxxxxxxx"
_to = "422700@qq.com"msg = MIMEText("发给大兄弟的python自动发的邮件!",'plain','utf-8')
msg["Subject"] = Header("Python中文邮件测试!",'utf-8').encode()
msg["From"] = _user
msg["To"] = _totry: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




运行结果如下:

大功告成!



推荐阅读
author-avatar
dengyuanc_928
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有