python3通過qq郵箱發送郵件


python3通過qq郵箱發送郵件

0.了解qq郵箱的SMTP

QQ郵箱 POP3 和 SMTP 服務器地址設置如下:

郵箱 POP3服務器(端口995) SMTP服務器(端口465或587)
qq.com pop.qq.com smtp.qq.com

SMTP服務器需要身份驗證。

1.開啟qq郵箱的smtp服務

如何打開POP3/SMTP/IMAP功能?

為了保障用戶郵箱的安全,QQ郵箱設置了POP3/SMTP/IMAP的開關。系統缺省設置是“關閉”,在用戶需要這些功能時請“開啟”。 首先,登錄郵箱,進入設置-帳戶;

然后,在“帳戶”設置中,找到設置項,進行設置,如下:

最后,保存設置,即打開了相應的服務。

2.代碼

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=True
    try:
        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服務器,端口是465
        server.login(my_sender, my_pass)  # 括號中對應的是發件人郵箱賬號、郵箱密碼
        server.sendmail(my_sender,[my_user,],msg.as_string())  # 括號中對應的是發件人郵箱賬號、收件人郵箱賬號、發送郵件
        server.quit()# 關閉連接
    except Exception:# 如果 try 中的語句沒有執行,則會執行下面的 ret=False
        ret=False
    return ret

ret=mail()
if ret:
    print("郵件發送成功")
else:
    print("郵件發送失敗")

 

注意:如果收件人地址錯誤,但代碼還是會提示"郵件發送成功",如果是地址錯誤在qq郵箱中會收到"來自qq.com的退信"

 

摘自:http://www.jianshu.com/p/0f8c5e4e7054     如有冒犯,請聯系本人1315969544@qq,com

此篇僅供參考,不得用於商業用途。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM