欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3使用SMTP發(fā)送帶附件郵件

 更新時(shí)間:2020年06月16日 14:59:00   作者:神馬東東2012  
這篇文章主要為大家詳細(xì)介紹了Python3使用SMTP發(fā)送帶附件郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

一、設(shè)置開啟SMTP服務(wù)并獲取授權(quán)碼

可以參考第一篇文章,這里不再贅述:【一】http://www.dbjr.com.cn/article/142220.htm

二、使用Python3 發(fā)送帶附件的郵件

0.使用的環(huán)境為:

Python 3.6.3 (64bit)
PyCharm 2017.3 (64bit)

1.注意事項(xiàng):

在調(diào)用smtplib,發(fā)送簡單郵件的時(shí)候使用smtplib.SMTP()方法使沒有問題的。

但是如果是郵件存在附件的情況下,還使用smtplib.SMTP()方法,就可能會(huì)發(fā)送失敗,報(bào)“遠(yuǎn)程主機(jī)拒接連接”的錯(cuò)誤;

這是因?yàn)槲覀儼l(fā)送郵件時(shí),調(diào)用第三方的郵件服務(wù)器(如網(wǎng)易163郵箱,QQ郵箱等),這些郵件服務(wù)器出于安全考慮,有時(shí)可能就會(huì)不允許使用簡單的,未經(jīng)加密的smtplib.SMTP()方法直接發(fā)送郵件,而必須使用安全的,經(jīng)過加密傳輸?shù)膕mtplib.SMTP_SSL()方法,才能發(fā)送成功。

2.MIME類型:

MIME (Multipurpose Internet Mail Extensions) 是描述消息內(nèi)容類型的因特網(wǎng)標(biāo)準(zhǔn)。

MIME 消息能包含文本、圖像、音頻、視頻以及其他應(yīng)用程序?qū)S玫臄?shù)據(jù)。

簡單來說,就是我們發(fā)送郵件時(shí),如果存在附件,不同類型的附件要使用對(duì)應(yīng)的MIME類型的方式來發(fā)送

具體類型可以參考:MIME參考手冊(cè)

2.實(shí)現(xiàn)代碼:

import smtplib 
from email.header import Header 
from email.mime.text import MIMEText 
from email.mime.multipart import MIMEMultipart 
 
sender = 'XXXXX@163.com' 
receiver = 'XXXXX@qq.com' 
smtpserver = 'smtp.163.com' 
username = 'XXXXX' 
password = 'XXXXX' 
mail_title = '主題:這是帶附件的郵件' 
 
# 創(chuàng)建一個(gè)帶附件的實(shí)例 
message = MIMEMultipart() 
message['From'] = sender 
message['To'] = receiver 
message['Subject'] = Header(mail_title, 'utf-8') 
 
# 郵件正文內(nèi)容 
message.attach(MIMEText('來來來,這是郵件的正文', 'plain', 'utf-8')) 
 
# 構(gòu)造附件1(附件為TXT格式的文本) 
att1 = MIMEText(open('text1.txt', 'rb').read(), 'base64', 'utf-8') 
att1["Content-Type"] = 'application/octet-stream' 
att1["Content-Disposition"] = 'attachment; filename="text1.txt"' 
message.attach(att1) 
 
# 構(gòu)造附件2(附件為JPG格式的圖片) 
att2 = MIMEText(open('123.jpg', 'rb').read(), 'base64', 'utf-8') 
att2["Content-Type"] = 'application/octet-stream' 
att2["Content-Disposition"] = 'attachment; filename="123.jpg"' 
message.attach(att2) 
 
# 構(gòu)造附件3(附件為HTML格式的網(wǎng)頁) 
att3 = MIMEText(open('report_test.html', 'rb').read(), 'base64', 'utf-8') 
att3["Content-Type"] = 'application/octet-stream' 
att3["Content-Disposition"] = 'attachment; filename="report_test.html"' 
message.attach(att3) 
 
 
smtpObj = smtplib.SMTP_SSL() # 注意:如果遇到發(fā)送失敗的情況(提示遠(yuǎn)程主機(jī)拒接連接),這里要使用SMTP_SSL方法 
smtpObj.connect(smtpserver) 
smtpObj.login(username, password) 
smtpObj.sendmail(sender, receiver, message.as_string()) 
print("郵件發(fā)送成功?。。?) 
smtpObj.quit() 

3.發(fā)送成功后,接收方收到的郵件如下圖所示:

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python統(tǒng)計(jì)中文字符數(shù)量的兩種方法

    python統(tǒng)計(jì)中文字符數(shù)量的兩種方法

    今天小編就為大家分享一篇python統(tǒng)計(jì)中文字符數(shù)量的兩種方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python使用itchat模塊實(shí)現(xiàn)群聊轉(zhuǎn)發(fā),自動(dòng)回復(fù)功能示例

    Python使用itchat模塊實(shí)現(xiàn)群聊轉(zhuǎn)發(fā),自動(dòng)回復(fù)功能示例

    這篇文章主要介紹了Python使用itchat模塊實(shí)現(xiàn)群聊轉(zhuǎn)發(fā),自動(dòng)回復(fù)功能,結(jié)合實(shí)例形式分析了Python基于itchat模塊針對(duì)微信信息的發(fā)送、回復(fù)等相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • 全面解析Python中的self技巧

    全面解析Python中的self技巧

    在Python中,類的方法定義時(shí)通常會(huì)包含一個(gè)名為?self?的參數(shù),它表示對(duì)象實(shí)例本身,下面我們就來了解一下self的相關(guān)應(yīng)用技巧,需要的可以參考下
    2024-01-01
  • 在?pytorch?中實(shí)現(xiàn)計(jì)算圖和自動(dòng)求導(dǎo)

    在?pytorch?中實(shí)現(xiàn)計(jì)算圖和自動(dòng)求導(dǎo)

    這篇文章主要介紹了在?pytorch?中實(shí)現(xiàn)計(jì)算圖和自動(dòng)求導(dǎo),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • Python?基于xml.etree.ElementTree實(shí)現(xiàn)XML對(duì)比示例詳解

    Python?基于xml.etree.ElementTree實(shí)現(xiàn)XML對(duì)比示例詳解

    這篇文章主要介紹了Python?基于xml.etree.ElementTree實(shí)現(xiàn)XML對(duì)比,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • pandas創(chuàng)建DataFrame的方式小結(jié)

    pandas創(chuàng)建DataFrame的方式小結(jié)

    今天給大家整理了pandas創(chuàng)建DataFrame的方式小結(jié),現(xiàn)在我們就來看看這三種生成Dataframe的方式,每種方式通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-09-09
  • Python中八種數(shù)據(jù)導(dǎo)入方法總結(jié)

    Python中八種數(shù)據(jù)導(dǎo)入方法總結(jié)

    數(shù)據(jù)分析過程中,需要對(duì)獲取到的數(shù)據(jù)進(jìn)行分析,往往第一步就是導(dǎo)入數(shù)據(jù)。導(dǎo)入數(shù)據(jù)有很多方式,不同的數(shù)據(jù)文件需要用到不同的導(dǎo)入方式,相同的文件也會(huì)有幾種不同的導(dǎo)入方式。下面總結(jié)幾種常用的文件導(dǎo)入方法
    2022-11-11
  • 通過實(shí)例簡單了解Python sys.argv[]使用方法

    通過實(shí)例簡單了解Python sys.argv[]使用方法

    這篇文章主要介紹了通過實(shí)例簡單了解Python sys.argv[]使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 利用Python的Django框架中的ORM建立查詢API

    利用Python的Django框架中的ORM建立查詢API

    這篇文章主要介紹了利用Python的Django框架中的ORM建立查詢API,對(duì)Managers和QuerySets進(jìn)行了著重介紹,需要的朋友可以參考下
    2015-04-04
  • Python?Melt函數(shù)將寬格式的數(shù)據(jù)表轉(zhuǎn)換為長格式

    Python?Melt函數(shù)將寬格式的數(shù)據(jù)表轉(zhuǎn)換為長格式

    在數(shù)據(jù)處理和清洗中,melt函數(shù)是Pandas庫中一個(gè)強(qiáng)大而靈活的工具,它的主要功能是將寬格式的數(shù)據(jù)表轉(zhuǎn)換為長格式,從而更方便進(jìn)行分析和可視化,本文將深入探討melt函數(shù)的用法、參數(shù)解析以及實(shí)際應(yīng)用場景
    2023-12-12

最新評(píng)論