淺談Python用QQ郵箱發(fā)送郵件時授權(quán)碼的問題
QQ郵箱最新推出了一個授權(quán)碼,需已驗證的手機(jī)號向QQ郵箱服務(wù)器發(fā)送一條短信獲得。該授權(quán)碼用于第三方客戶端登錄,代替了第三方登錄時使用的個人郵箱密碼。
在測試過程中遇到兩個問題:
1.提示需建立SSL安全連接。于是將smtplib.SMTP() 改成了smtplib.SMTP_SSL()
2.運行代碼后,程序一直運行,但沒有任何反應(yīng),等了五分鐘左右,最后只好ctrl+c停止。查原因才知道,QQ郵箱的SMTP服務(wù)端口不是默認(rèn)的25.改為465之后就好了。
(使用標(biāo)準(zhǔn)的25端口連接SMTP服務(wù)器時,使用的是明文傳輸,發(fā)送郵件的整個過程可能會被竊聽。要更安全地發(fā)送郵件,可以加密SMTP會話,實際上就是先創(chuàng)建SSL安全連接,然后再使用SMTP協(xié)議發(fā)送郵件。)
3.運行提示535錯誤,說授權(quán)error。才知道是那個授權(quán)碼的原因。于是趕緊獲取郵箱的授權(quán)碼。
3.運行提示535錯誤,說授權(quán)error。才知道是那個授權(quán)碼的原因。于是趕緊獲取郵箱的授權(quán)碼。
最后測試終于好了,代碼如下:
#coding:utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header # 第三方 SMTP 服務(wù) mail_host="smtp.qq.com" #設(shè)置服務(wù)器 mail_user="******@qq.com" #用戶名 mail_pass="*********" #口令,QQ郵箱是輸入授權(quán)碼,在qq郵箱設(shè)置 里用驗證過的手機(jī)發(fā)送短信獲得,不含空格 sender = '******qq.com' receivers = ['******@qq.com','****@sina.com.cn'] # 接收郵件,可設(shè)置為你的QQ郵箱或者其他郵箱 message = MIMEText('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) smtpObj.sendmail(sender, receivers, message.as_string()) smtpObj.quit() print u"郵件發(fā)送成功" except smtplib.SMTPException,e: print e
以上這篇淺談Python用QQ郵箱發(fā)送郵件時授權(quán)碼的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
matplotlib調(diào)整子圖間距,調(diào)整整體空白的方法
今天小編就為大家分享一篇matplotlib調(diào)整子圖間距,調(diào)整整體空白的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08Python中日志模塊logging的使用技巧和應(yīng)用詳解
在Python開發(fā)中,日志記錄是一個非常重要的環(huán)節(jié),它不僅有助于開發(fā)者追蹤程序的執(zhí)行流程,還能在出現(xiàn)問題時提供關(guān)鍵信息,幫助快速定位并解決問題,本文將結(jié)合實際案例,詳細(xì)介紹logging模塊的基礎(chǔ)用法和高級特性,需要的朋友可以參考下2024-08-08python使用win32com在百度空間插入html元素示例
這篇文章主要介紹了python使用win32com在百度空間插入html元素的示例,大家參考使用吧2014-02-02在django view中給form傳入?yún)?shù)的例子
今天小編就為大家分享一篇在django view中給form傳入?yún)?shù)的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07