『壹』 使用Python登錄QQ郵箱發送QQ郵件
迎接新時代的科技探索,讓我們揭秘那些隱藏在郵件推送背後的奧秘!無論是溫馨的節日祝福,還是創意十足的個人表達,都能通過Python的力量,化為一封封獨特的郵件。今天,讓我們攜手踏入Python的世界,用代碼編織出一場郵件的奇妙旅程。
在Python3.5的懷抱中,我們將藉助email和smtplib這兩個強大的庫,實現一個實用的QQ郵箱郵件發送功能。首先,為了實現這一壯舉,你需要對你的QQ郵箱進行一些設置。打開郵箱,開啟SMTP服務,並獲取一個授權碼,詳細教程在這里:[教程鏈接]
接下來,讓我們一步步修改模板,讓Python登錄QQ郵箱,發送郵件的魔法開始上演。看這個簡潔的代碼片段:
from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL
host_server = 'smtp.qq.com'
sender_qq = '3723358***'
pwd = '**iao***lxpic***'
sender_qq_mail = '3723358***@qq.com'
receiver = 'thunder***@gmail.com'
mail_content = '你好,我是來自知乎的[鄧旭東HIT],正在進行Python與QQ郵箱的親密接觸。'
mail_title = '鄧旭東HIT的Python郵件測試'
smtp = SMTP_SSL(host_server)
smtp.set_debuglevel(1) # 調試模式,可選關閉
smtp.ehlo(host_server)
smtp.login(sender_qq, pwd)
msg = MIMEText(mail_content, "plain", 'utf-8')
msg["Subject"] = Header(mail_title, 'utf-8')
msg["From"] = sender_qq_mail
msg["To"] = receiver
smtp.sendmail(sender_qq_mail, receiver, msg.as_string())
smtp.quit()
只需調整上述變數,即可執行發送任務。然而,如果郵件收件人眾多,每個都有不同的內容,手動編寫會變得繁瑣。這時,我們可以將發送過程封裝成一個函數,輕松處理批量發送:
def send_email(sender_qq='', pwd='', receiver='', mail_title='', mail_content=''):
host_server = 'smtp.qq.com'
sender_qq_mail = sender_qq + '@qq.com'
smtp = SMTP_SSL(host_server)
smtp.set_debuglevel(1)
smtp.ehlo(host_server)
smtp.login(sender_qq, pwd)
msg = MIMEText(mail_content, "plain", 'utf-8')
msg["Subject"] = Header(mail_title, 'utf-8')
smtp.sendmail(sender_qq_mail, receiver, msg.as_string())
smtp.quit()
for _ in range(10): # 示例:發送10封郵件
send_email(sender_qq=sender_qq, pwd=pwd, receiver=receiver, mail_title=mail_title, mail_content=mail_content)
注意,MIMEText的第二個參數可以選擇為"plain"(純文本)或"html"(富文本),根據需要調整。想了解更多高級功能,可參考這篇詳盡的教程:Python3 SMTP發送郵件教程。
在這個探索的旅程中,Python就像一把鑰匙,開啟了無限可能。但請記住,技術的運用應該充滿創意和溫度,讓我們用Python傳遞真誠與熱情,而不是冷冰冰的廣告。現在,你已經掌握了這個技能,開始創造屬於你的郵件故事吧!