




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第Python實現(xiàn)郵件發(fā)送功能的方法詳解目錄利用python發(fā)送普通郵件認(rèn)識發(fā)送郵件流程認(rèn)識郵件協(xié)議smtplib模塊email包發(fā)送郵件小案例發(fā)送郵件的避坑總結(jié)郵件自動化篇章所需的新模塊:
smtplib郵件協(xié)議與發(fā)送模塊
email內(nèi)容定義模塊
schedule定時模塊
smtplib與email模塊可以幫助我們正常的發(fā)送郵件;schedule模塊可以幫助我們定時發(fā)送郵件,比如工資郵件等需要固定時間發(fā)送的郵件
利用python發(fā)送普通郵件
認(rèn)識發(fā)送郵件流程
這里簡單描述下發(fā)郵件的過程(說實話,這一步我有點(diǎn)不想寫)
第一步:登錄郵箱
第二步:書寫郵件接受者的郵箱
第三步:書寫郵件標(biāo)題與內(nèi)容(有的時候還需要添加附件)
第四步:發(fā)送郵件
認(rèn)識郵件協(xié)議
smtp:郵件發(fā)送的協(xié)議pop3:郵件接收的協(xié)議
什么是協(xié)議?
協(xié)議就是一種規(guī)則,其已經(jīng)被底層網(wǎng)絡(luò)封裝好。無需關(guān)心它的具體規(guī)則是什么,直接使用上層工具即可。
比如發(fā)送郵件這個場景,當(dāng)我們使用smtp協(xié)議發(fā)送郵件時。網(wǎng)絡(luò)發(fā)現(xiàn)是smtp協(xié)議,它就知道這是一封要發(fā)送出去的郵件;同樣pop3也是一樣的,當(dāng)網(wǎng)絡(luò)發(fā)現(xiàn)這是pop3協(xié)議就知道這是一封要接收的郵件。
smtplib模塊
smtplib模塊是python中發(fā)送郵件的很重要的模塊之一。
創(chuàng)建協(xié)議對象:
smptObj=smptlib.SMTP()通過smptlib.SMTP()生成smpt協(xié)議對象
創(chuàng)建鏈接:
smptObj.connect(smpt服務(wù)器地址,25)通過connect(服務(wù)器IP地址,端口號),smpt服務(wù)默認(rèn)端口號為25
登錄驗證:
smptObj.login(mail_user,mail_password)通過login(mail_user,mail_password)傳入郵箱名稱、登錄密碼,完成驗證。(注意:部分郵箱服務(wù)器這里傳入的是口令而不是登錄密碼[也叫做授權(quán)碼],在郵箱的設(shè)置里面查看)
發(fā)送郵件:
smptObj.sendmail(sender,receivers,message)通過sendmail(sender,receivers,message)傳入發(fā)送者的郵箱、接收者的郵箱、郵件內(nèi)容即可完成發(fā)送郵件的動作。
PS:這里可以看到接收者的郵箱是receivers復(fù)數(shù),所以接收者郵箱是一個數(shù)組、列表,可以發(fā)送給多個人;消息內(nèi)容的message是消息對象的加密字符串
email包
email包有兩個比較常用的函數(shù):
函數(shù)名參數(shù)說明MIMEText郵件內(nèi)容、郵件類型、編碼格式定義郵件發(fā)送內(nèi)容的對象Header各類信息、編碼格式將各類信息定義成對象,比如標(biāo)題等。
PS:上文提到的message是消息對象的加密字符串就是通過MIMEText加密生成的
發(fā)送郵件小案例
代碼示例如下:
#coding:utf-8
importsmtplib
fromemail.mime.textimportMIMEText
fromemail.headerimportHeader
第三方的smpt[腳本中涉及的郵箱地址都是假的,請使用自己的真實郵箱地址進(jìn)行測試]
mail_host=""#設(shè)置郵箱服務(wù)器
mail_user="conan868242"#設(shè)置自己的郵箱
mail_pass="cb997b01a87232b2"#這里就是郵箱的口令,也就是授權(quán)碼;不是密碼。
sender="conan868242@"#定義發(fā)送者郵箱(其實就是自己)
receivers=["3241716373@"]#定義接受者郵箱(可以是多個接收者)
message=MIMEText("這是一封測試郵件O(∩_∩)O哈哈~","plain","utf-8")#定義郵件內(nèi)容;"plain"是格式,表示是普通的文件內(nèi)容
message["From"]=Header(sender)#在message內(nèi)定義發(fā)送信息--發(fā)送者
message["Subject"]=Header("Python測試郵件發(fā)送","utf-8")#在message內(nèi)定義發(fā)送信息的標(biāo)題
print("加密后的發(fā)送內(nèi)容\n",message.as_string())#打印輸出加密后的發(fā)送內(nèi)容
try:#捕獲發(fā)送郵件的異常
smtpObj=smtplib.SMTP()#實例化SMTP協(xié)議對象
smtpObj.connect(mail_host,25)#鏈接SMTP服務(wù)器
smtpObj.login(mail_user,mail_pass)#登錄郵箱驗證
smtpObj.sendmail(sender,receivers,message.as_string())#發(fā)送郵件;"message"通過"as_string()"進(jìn)行發(fā)送內(nèi)容字符串的加密
exceptsmtplib.SMTPExceptionaserror:
print("error:{}".format(error))
PS:不要嘗試用這個源碼運(yùn)行了,我已經(jīng)將授權(quán)碼改了。
運(yùn)行結(jié)果如下:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年航空機(jī)場行業(yè)當(dāng)前發(fā)展趨勢與投資機(jī)遇洞察報告
- 支部條例全文課件
- 攀爬墻安全知識培訓(xùn)課件
- 2024學(xué)年南通市七年級語文上學(xué)期期末考試卷附答案解析
- 2025年素描繪畫崗位職業(yè)技能資格基礎(chǔ)知識考試題與答案
- 2025年叉車安全培訓(xùn)考試題及答案
- 2024年高級家具設(shè)計師專業(yè)技術(shù)及理論知識考試題庫(附含答案)
- 2024年攝像技巧及相關(guān)知識考試題庫(附含答案)
- 2025年度湖北省高校大學(xué)《輔導(dǎo)員》招聘考試題庫(含答案)
- 2025年四川省自貢市考研專業(yè)綜合預(yù)測試題含答案
- 孕婦健康教育知識
- 婚紗攝影技術(shù)課件教學(xué)
- DZ/T 0088-1993地質(zhì)鉆探用鉆塔系列
- CJ/T 254-2014管網(wǎng)疊壓供水設(shè)備
- 社保政策調(diào)整對人力成本影響-洞察闡釋
- T/CCSAS 044-2023化工過程本質(zhì)安全化評估指南
- DB32T 5124.2-2025 臨床護(hù)理技術(shù)規(guī)范 第2部分:成人危重癥患者無創(chuàng)腹內(nèi)壓監(jiān)測
- 喉癌術(shù)后飲食護(hù)理
- 生產(chǎn)經(jīng)理薪資協(xié)議書
- 達(dá)州國企面試題及答案
- 群團(tuán)工作筆試試題及答案
評論
0/150
提交評論