前言
其实Python使用QQ邮箱发送Email代码很简单,短短几行代码就可以实现这个功能。
使用到的模块有smtplib和email这个两个模块,关于这两个模块的方法就不多说了。不了解的朋友们可以查看这篇文章:python中使用smtplib和email模块发送邮件实例
我们先说说网上常用的使用这那两个模块发送邮件的方法
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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"); |
运行结果:
1
|
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服务,然后根据要求使用手机发送到指定号码,获取授权码,
这个授权码就是你接下来登录要使用的密码,配置完成,上代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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能带来一定的帮助,如果有疑问大家可以留言交流。