python的smtplib提供了一種很方便的途徑發送電子郵件。它對smtp協議進行了簡單的封裝。
下面是一個利用smtplib,實現QQ郵箱發送郵件的例子。
首先必須要打開QQ郵箱的smtp服務,在QQ郵箱個人主頁的 設置-賬戶 中開啟。如圖:

成功開啟后點擊生成授權碼 ,得到的密碼為smtp發送郵件時的登錄密碼。
一個發送郵件的簡單實例:
from smtplib import SMTP_SSL from email.mime.text import MIMEText from email.header import Header email_from = "123456@qq.com" #改為自己的發送郵箱 email_to = "654321@qq.com" #接收郵箱 hostname = "smtp.qq.com" #不變,QQ郵箱的smtp服務器地址 login = "123456@qq.com" #發送郵箱的用戶名 password = "xddflpwqesfkbidf" #發送郵箱的密碼,即開啟smtp服務得到的授權碼。注:不是QQ密碼。 subject = "python+smtp" #郵件主題 text = "send email" #郵件正文內容 smtp = SMTP_SSL(hostname)#SMTP_SSL默認使用465端口 smtp.login(login, password) msg = MIMEText(text, "plain", "utf-8") msg["Subject"] = Header(subject, "utf-8") msg["from"] = email_from msg["to"] = email_to smtp.sendmail(email_from, email_to, msg.as_string()) smtp.quit()
腳本執行結果:

PS:如果遇到SMTP_SSL語句報錯(UnicodeDecodeError:'utf-8' codec can't decode),可能是因為計算機名中含有中文導致的。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
|
新聞熱點
疑難解答