python3利用smtplib通过qq邮箱发送邮件
生活随笔
收集整理的這篇文章主要介紹了
python3利用smtplib通过qq邮箱发送邮件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
本文主要給大家介紹了關于python3 smtplib通過qq郵箱發送郵件的相關內容, smtplib模塊是smtp簡單郵件傳輸協議客戶端的實現,為了通用性,有時候發送郵件的時候要帶附件或圖片,用email.mime來裝載內容。
詳細代碼參考說明:Python3 SMTP發送郵件
0.了解qq郵箱的SMTP
QQ郵箱 POP3 和 SMTP 服務器地址設置如下:
POP3服務器(端口995) pop.qq.com
SMTP服務器(端口465或587) smtp.qq.com
SMTP服務器需要身份驗證
開啟qq郵箱的smtp服務
如何打開POP3/SMTP/IMAP功能?
為了保障用戶郵箱的安全,QQ郵箱設置了POP3/SMTP/IMAP的開關。系統缺省設置是“關閉”,在用戶需要這些功能時請“開啟”。 首先,登錄郵箱,進入設置-帳戶;
然后,在“帳戶”設置中,找到設置項,進行設置,如下:
最后,保存設置,即打開了相應的服務。
代碼
import smtplib from email.mime.text import MIMEText from email.utils import formataddr my_sender='XXXXXXX@qq.com' # 發件人郵箱賬號 my_pass = 'xxxxxxxxxxxx' # 發件人郵箱密碼(當時申請smtp給的口令) my_user='xxxxxx@xx.com' # 收件人郵箱賬號,我這邊發送給自己 def mail():ret=Truetry:msg=MIMEText('填寫郵件內容','plain','utf-8')msg['From']=formataddr(["發件人昵稱",my_sender]) # 括號里的對應發件人郵箱昵稱、發件人郵箱賬號msg['To']=formataddr(["收件人昵稱",my_user]) # 括號里的對應收件人郵箱昵稱、收件人郵箱賬號msg['Subject']="郵件主題-測試" # 郵件的主題,也可以說是標題server=smtplib.SMTP_SSL("smtp.qq.com", 465) # 發件人郵箱中的SMTP服務器,端口是465server.login(my_sender, my_pass) # 括號中對應的是發件人郵箱賬號、郵箱密碼server.sendmail(my_sender,[my_user,],msg.as_string()) # 括號中對應的是發件人郵箱賬號、收件人郵箱賬號、發送郵件server.quit()# 關閉連接except Exception:# 如果 try 中的語句沒有執行,則會執行下面的 ret=Falseret=Falsereturn ret ret=mail() if ret:print("郵件發送成功") else:print("郵件發送失敗")注意:如果收件人地址錯誤,但代碼還是會提示"郵件發送成功",如果是地址錯誤在qq郵箱中會收到"來自qq.com的退信"
總結
以上是生活随笔為你收集整理的python3利用smtplib通过qq邮箱发送邮件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用pytz模块进行时区转换及时间计算
- 下一篇: Python回调函数