python qq邮箱发邮件,Python自动发送邮件
QQ邮箱最近推出了一个授权码,需要通过验证过的手机号向QQ邮箱服务器发送短信获取。该授权码用于第三方客户端登录,而不是第三方登录时使用的个人邮箱密码。
测试过程中遇到了两个问题:
1.提示建立SSL安全连接。因此,smtplib。SMTP()被更改为smtplib。SMTP_SSL()
2.运行完代码,程序继续运行,但是没有任何反应。等了大概五分钟,最后不得不ctrl c停下来。查了原因才知道QQ邮箱的SMTP服务端口不是默认的25。改成465以后就好了。
(使用标准的25端口连接SMTP服务器时,使用明文传输,发送邮件的整个过程可能会被窃听。为了更安全地发送邮件,可以加密SMTP会话,实际上就是先创建一个SSL安全连接,然后使用SMTP协议发送邮件。)
3.运行提示535错误,说授权错误。知道是那个授权码的原因。所以赶紧拿到邮箱的授权码。
最后测试良好,代码如下:
#编码:UTF-8导入smtplib from email.mime.text导入mimetextfrom email.header导入头#第三方SMTP服务mail_host=smtp.qq.com #设置服务器mail_user=** ****@qq.com #用户名mail _ pass= * * * * * * * #密码,qq邮箱是输入授权码,在qq邮箱设置中用验证过的手机发短信获得,不加空格sender= * * * * * * QQ . com receivers=[ * * * * * * * * * * @新浪message=mime text( a test for Python , plain , UTF-8 )message[ from ]=Header( ppyy , utf-8 )message[ To ]=Header( you , utf-8 )Subject= my test message[ Subject ]=Header(Subject, utf-8)try: smtpObj=smtplib。SMTP_SSL(mail_host,465) smtpObj.login(mail_user,mail _ pass)SMTP obj . sendmail(sender,receivers,message . as _ string())SMTP obj . quit()print u 邮件发送成功 exceptsmtplib.smtpexception,e: print e
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。