Python實現(xiàn)郵件發(fā)送功能的示例詳解
想實現(xiàn)發(fā)送郵件需要經過以下幾步:
1、登錄郵件服務器
2、構造符合郵件協(xié)議規(guī)則要求的郵件內容
3、發(fā)送
Python對SMTP支持有smtplib和email兩個模塊,email負責構造郵件,smtplib負責發(fā)送郵件,它對smtp協(xié)議進行了簡單的封裝。
這里我們用qq郵箱為例,并且自己是可以給自己發(fā)郵件的。
在開始前我們先做準備工作:
登錄qq郵箱,后點擊“設置”

點擊“賬戶”

確保前兩項已開啟,然后點擊生成授權碼。
因為我們網(wǎng)頁登錄時的密碼是不可以用來python上使用;qq為了安全,我們平常用網(wǎng)頁或者qq官方的客戶端可以用我們的qq密碼登錄,但是第三方(比如python)是不可以登錄的。
所以要生成第三方授權碼。


代碼
import smtplib
from email.mime.text import MIMEText # 郵件正文
from email.header import Header # 郵件頭
# 登錄郵件服務器
smtp_obj = smtplib.SMTP_SSL("smtp.qq.com", 465) # 發(fā)件人的SMTP服務器,端口號25
smtp_obj.login("你的qq賬號", 'admc********') # 括號中的內容分別是發(fā)件人郵箱賬號、授權碼
smtp_obj.set_debuglevel(1) # 顯示調試信息,可以不用寫
# 設置郵件頭信息
msg = MIMEText("測試用Python發(fā)送email。", "plain", "utf-8") # 正文內容
msg['From'] = Header("小天天", 'utf-8') # 發(fā)件人名字
msg["To"] = Header("有緣人", "UTF-8") # 接收者名字
msg["Subject"] = Header('用Python發(fā)送郵件2022', 'utf-8') # 主題
# 發(fā)送
smtp_obj.sendmail('發(fā)送人郵箱', ['接收人郵箱'], msg.as_string())
#第一個是發(fā)送人郵箱;第二個是數(shù)組,說明可以給多個人發(fā)送;msg就是剛剛寫的發(fā)送內容。
運行代碼

細節(jié):SMTP使用是25端口,SSL使用的是456端口;SMTP是明文發(fā)送,SSL是加密發(fā)送
發(fā)送html格式的內容
import smtplib
from email.mime.text import MIMEText # 郵件正文
from email.header import Header # 郵件頭
# 登錄郵件服務器
smtp_obj = smtplib.SMTP_SSL("smtp.qq.com", 465) # 發(fā)件人的SMTP服務器,端口號25
smtp_obj.login("2308748900", 'admcwiwxxgmwdifh') # 括號中的內容分別是發(fā)件人郵箱賬號、郵箱密碼
smtp_obj.set_debuglevel(1) # 顯示調試信息,可以不用寫
# 設置郵件頭信息
# HTML
msg_body='''
<h4>python發(fā)送html格式的郵件</h4>
<p>
測試用HTML格式發(fā)送郵件
</p>
'''
msg = MIMEText(msg_body, "html", "utf-8") # 將plain改成html
msg['From'] = Header("小天天", 'utf-8') # 發(fā)件人名字
msg["To"] = Header("有緣人", "UTF-8") # 接收者名字
msg["Subject"] = Header('用Python發(fā)送郵件2022', 'utf-8') # 主題
# 發(fā)送
smtp_obj.sendmail('2308748900@qq.com', ['2308748900@qq.com'], msg.as_string())主要代碼和上面基本一樣,只是將文本改成html的代碼內容而已

到此這篇關于Python實現(xiàn)郵件發(fā)送功能的示例詳解的文章就介紹到這了,更多相關Python郵件發(fā)送內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python使用captcha庫制作帶參數(shù)輸入驗證碼案例
這篇文章主要介紹了Python使用captcha庫制作驗證碼,帶參數(shù)輸入,本文通過實例案例解析給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05
python循環(huán)之彩色圓環(huán)實現(xiàn)示例
這篇文章主要為大家介紹了python循環(huán)之彩色圓環(huán)實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06

