python實現QQ郵箱傳送郵件
阿新 • • 發佈:2020-03-09
本文例項為大家分享了python實現QQ郵箱傳送郵件的具體程式碼,供大家參考,具體內容如下
1、程式碼:
#!/usr/bin/python # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText from email.header import Header mail_host="smtp.qq.com"#設定的郵件伺服器host必須是傳送郵箱的伺服器,與接收郵箱無關。 mail_user="**************"#qq郵箱登陸名 mail_pass="*****************" #開啟stmp服務的時候並設定的授權碼,注意!不是QQ密碼。 sender='[email protected]'#傳送方qq郵箱 receivers=['[email protected]']#接收方qq郵箱 message=MIMEText('測試傳送 python 郵件','plain','utf-8') message['From']=Header("beibei",'utf-8') #設定顯示在郵件裡的發件人 message['To']=Header("wowo",'utf-8') #設定顯示在郵件裡的收件人 subject ='python smtp email test' message['Subject']=Header(subject,'utf-8') #設定主題和格式 try: smtpobj=smtplib.SMTP_SSL(mail_host,465) #本地如果有本地伺服器,則用localhost,預設埠25,騰訊的(埠465或587) smtpobj.set_debuglevel(1) smtpobj.login(mail_user,mail_pass)#登陸QQ郵箱伺服器 smtpobj.sendmail(sender,receivers,message.as_string())#傳送郵件 print("郵件傳送成功") smtpobj.quit()#退出 except smtplib.SMTPException as e : print("Error:無法傳送郵件") print(e)
2、執行結果:
3、遇到問題:
3.1、埠錯誤 SMTP 預設埠是25 ,但QQ郵箱不是
smtplib.SMTP_SSL(mail_host,465)
要用SMTP_SSL
3.2、傳送被拒絕連線 535,b'Error:
3.3、獲取授權碼:
會在此處顯示授權碼,記下來。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。