python自動發送QQ郵箱的完整步驟

一、授權碼獲取

開啟它:

發送短信:

發送後點擊我已發送:

把這個授權碼復制下來保存起來,下次還可以用。

二、發送文本和附件

你隻需要修改郵箱,授權碼,當然如果你想發送附件也把附件路徑加上即可。

python代碼:

# coding=gbk
"""
作者:川川
@時間  : 2021/11/10 10:50
群:970353786
"""
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication

# 寫成瞭一個通用的函數接口,想直接用的話,把參數的註釋去掉就好
def send_email(msg_from, passwd, msg_to, text_content, file_path=None):
    msg = MIMEMultipart()
    subject = "python 實現郵箱發送郵件"  # 主題
    text = MIMEText(text_content)
    msg.attach(text)

    # file_path = r'read.md'  #如果需要添加附件,就給定路徑
    if file_path:  # 最開始的函數參數我默認設置瞭None ,想添加附件,自行更改一下就好
        docFile = file_path
        docApart = MIMEApplication(open(docFile, 'rb').read())
        docApart.add_header('Content-Disposition', 'attachment', filename=docFile)
        msg.attach(docApart)
        print('發送附件!')
    msg['Subject'] = subject
    msg['From'] = msg_from
    msg['To'] = msg_to
    try:
        s = smtplib.SMTP_SSL("smtp.qq.com", 465)
        s.login(msg_from, passwd)
        s.sendmail(msg_from, msg_to, msg.as_string())
        print("發送成功")
    except smtplib.SMTPException as e:
        print("發送失敗")
    finally:
        s.quit()
msg_from = '283****[email protected]'  # 發送方郵箱
passwd = 'd******a'  # 填入發送方郵箱的授權碼(就是剛剛你拿到的那個授權碼)
msg_to = '283******[email protected]'  # 收件人郵箱,我是自己發給自己
text_content = "hi,this is a demo!" # 發送的郵件內容
file_path = 'read.md' # 需要發送的附件目錄
send_email(msg_from,passwd,msg_to,text_content,file_path)

運行:(收到郵箱)

三、繼續升級

你是否可以在這基礎上再做改動,比如爬取某個網頁的主要內容發送到郵箱?爬蟲有趣的東西多著呢!比如我自動填體溫,把填報後的效果發送給我郵箱。

python代碼:(txt裡面為我的具體內容)

# coding=gbk
"""
作者:川川
@時間  : 2021/11/10 11:50
群:970353786
"""
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication

def send_email(msg_from, passwd, msg_to, text_content):
    msg = MIMEMultipart()
    subject = "計算機自動填體溫結果"  # 主題
    text = MIMEText(text_content)
    msg.attach(text)

    msg['Subject'] = subject
    msg['From'] = msg_from
    msg['To'] = msg_to
    try:
        s = smtplib.SMTP_SSL("smtp.qq.com", 465)
        s.login(msg_from, passwd)
        s.sendmail(msg_from, msg_to, msg.as_string())
        print("發送成功")
    except smtplib.SMTPException as e:
        print("發送失敗")
    finally:
        s.quit()
msg_from = '28****[email protected]'  # 發送方郵箱
passwd = 'dw****rodhda'  # 填入發送方郵箱的授權碼(就是剛剛你拿到的那個授權碼)
msg_to = '2****[email protected]'  # 收件人郵箱

with open("log_t.txt", "r",encoding="utf-8") as f:  # 打開文件
    data = f.read()  # 讀取文件
    text_content = data # 發送的郵件內容
    send_email(msg_from,passwd,msg_to,text_content)  

運行效果:

四、聲明

自動郵箱發送僅僅用於個人學習練習,若用於其它等用途,後果自負,概不負責。

到此這篇關於python自動發送QQ郵箱的文章就介紹到這瞭,更多相關python自動發送QQ郵箱內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: