1. 程式人生 > 程式設計 >python實現QQ郵箱傳送郵件

python實現QQ郵箱傳送郵件

本文例項為大家分享了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、執行結果:

python實現QQ郵箱傳送郵件

python實現QQ郵箱傳送郵件

3、遇到問題:

3.1、埠錯誤 SMTP 預設埠是25 ,但QQ郵箱不是

smtplib.SMTP_SSL(mail_host,465)

要用SMTP_SSL

python實現QQ郵箱傳送郵件

3.2、傳送被拒絕連線 535,b'Error:

python實現QQ郵箱傳送郵件

3.3、獲取授權碼:

python實現QQ郵箱傳送郵件

會在此處顯示授權碼,記下來。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。