成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手教你使用Python輕松搞定發郵件

開發 后端
通過對郵件的學習,可以極大地便利我們的生活,你可以使用郵件來給你設置一個計劃表,通過程序實現,每天按時發送郵件,是不是很高逼格了,希望今天這篇文章能讓大家對郵件有個全新的認識。

[[356302]]

 前言

現在生活節奏加快,人們之間交流方式也有了天差地別,為了更加便捷的交流溝通,電子郵件產生了,眾所周知,電子郵件其實就是客戶端和服務器端發送接受數據一樣,他有一個發信和一個收信的功能,電子郵件的通信協議為SMTP ,POP3,IMAP,而且他們都屬于tcp/ip協議,像我們經常用到的QQ郵箱,網易郵箱,這些都是同樣的模式。

準備

  • 編輯器:sublime text 3
  • 模塊:smtplib和email

項目實施

1.安裝

  1. pip install smtplib 
  2. pip install email 

注:這里有一個小坑,就是安裝smtplib不能像上面那樣直接安裝,那樣會安裝不上的,你得先安裝PyEmail,因為你smtplib 集成在了這個模塊中了,就好比pillow模塊集成在PIL中一樣的,另一個正常安裝即可。

2.開通pop3 SMTP imap 服務了解郵箱授權碼

任何一個郵箱你如果想要發郵件,你得先開通以上服務,讓郵件能夠通信,而且還得有郵箱授權碼,比如說QQ郵箱:

打開QQ郵箱,選擇設置--------賬戶,然后開啟服務。



開啟服務后,點擊生成授權碼,保存好授權碼。獲取授權碼只需要你用注冊手機號發短信或者動態令牌即可。

3.構建郵件端口,建立連接

  1. import smtplib 
  2. sm=smtp.SMTP()  # 初始化連接 
  3. sm.connect('郵件服務器地址','端口')  #建立連接 
  4. sm.login('郵箱賬號','郵箱密碼/授權碼')  #登陸賬戶 
  5. sm.sendmail('郵件發送方','郵件接受方','郵件內容') #發送郵件 
  6. sm.quit() #關閉連接,結束郵件服務 

了解了以上的知識后,我們來試著登陸一下吧,我以QQ郵箱為例:


有這樣的標識表示登陸成功,順便強調一句,在這里我為什么沒有配置郵件服務器端口,因為服務器已經幫我們配置好了,默認的都是25號端口,如果你擔心郵件的安全問題,比如會被黑客截胡,你也可以使用ssl鏈接傳輸:


同樣它的端口也是默認配置好了,他的端口號為465,為了安全,咱們選擇這項。

4.構建郵件內容部分

這里我們需要用到email模塊,我們都知道,郵件一般可以發很多東西,比如說文本,圖片,文件等等,那么我們來看看吧。

一、文本

導入模塊

  1. from email.mime.text import MIMEText 

填充文本

在此之前我們得知道它的具體用法:

  • MIMEText(‘郵件內容’,‘類型’, '編碼')
  • 郵件內容為字符串
  • 類型: text/plain text/html
  • 編碼 : utf-8 gbk

構造文本

  1. MIMEText('hello','text/plain','utf-8'

構造超文本

  1. MIMEText('<a href='www.baidu.com'>點擊此處有驚喜</a>','text/html','utf-8'

下面我們來實際操作下吧。

非常成功收到了郵件了。正是2091500484這個郵箱給我發的。當然我們這樣只是實現了最簡單的功能,

我們需要將它格式規范下,比如給它添加個開頭結尾什么的。我們需要導入構建郵件完整內容的模塊:

  1. from email.header import Header 

然后設置頭部,內容,尾部

  1. msg1['From']=Header('你是豬嗎')  #設置發件人昵稱 
  2. msg1['To']=Header('hwhrr123321@163.com') #設置收件人昵稱 
  3. msg1['Subject'] = Header('我是豬') #設置標題 

 

可以看到,是不是覺得很有趣了,快來試試吧,哈哈哈。。。

二、圖片

發了文本后我們還想發一張圖片,那該怎么辦呢?莫慌,此時需要先導入發圖片的模塊:

  1. from email.mime.image import MIMEImage 

然后我們在讀取圖片文件將它添加到郵件中去。

  1. ff=open('1.jpg','rb').read() #打開文件 
  2. fd=MIMEImage(ff,'subtype')    #初始化 
  3. fd.add_header('Content-ID','1.jpg')  #添加到頭部 

 

可以看到圖片并沒有顯示出來,那么這是怎么回事,哦,原來圖片是依托附件而存在的,要么是html要么是附件,但是兩者都需要附件模塊的支持,下面我們導入附件模塊:

  1. from email.mime.multipart import MIMEMultipart 

1.將圖片插入到html中

也就是將圖片插入到正文部分,而非附件的形式。

  1. msg3 = MIMEMultipart('related'
  2. msg3['From'] = '你是豬嗎' 
  3. msg3['To'] = 'hwhrr123321@163.com' 
  4. msg3['Subject'] = '我是豬' 
  5. msg4 = MIMEMultipart('alternative') #構建一個附件 
  6. msg3.attach(msg4)  #將附件引入到另一個附件 
  7. text=""
  8.    <html> 
  9.    <body> 
  10.    <img src='cid:img' tittle='I am  pig'
  11.    </body> 
  12.    </html> 
  13. ""
  14. msg4.attach(MIMEText(text, 'html''utf-8')) #將html插入到附件中 
  15. ff=open('2.jpg','rb'
  16. img = MIMEImage(ff.read())  #將圖片讀取到附件中 
  17. ff.close() 
  18. img.add_header('Content-ID','<img>') #添加圖片頭部 
  19. msg3.attach(img)   #將圖片添加到附件 
  20. sm.sendmail('2091500484@qq.com','hwhrr123321@163.com',msg3.as_string()) #發送 
  21. sm.quit() 

 可以看出,過程還是比較復雜的,比單純附件添加圖片麻煩點,主要是嵌套了一層附件結構。

2.將圖片引入到附件中

這個比較好實現。如圖:


三、文件

在發送文件前,我們要考慮的一個問題是,我們讀取它要以二進制的形式,然后再將它添加到附件中,搞懂了這個就好辦了。

1.讀取文件

這里我們需要構造一個base64的一個數據流讀取文件:

  1. msg6=MIMEMultipart() 
  2. txt=MIMEText(open('fd.txt','rb').read(), 'base64''utf-8'

2.設置傳輸類型

  1. txt["Content-Type"] = 'application/octet-stream' 

3.設置附件名稱

  1. txt["Content-Disposition"] = 'attachment; filename = "fd.txt" ' 

4.將文件添加到附件中

  1. msg6.attach(txt) 

最后就成功將文件添加到了附件中了。


項目總結

以上便是我對郵件發送的所有感悟了,另外如果你想將郵件傳輸時的過程直觀展示出來的話只需在郵件服務器登陸的前一句加上:

  1. sm.set_debuglevel(1) 

這樣便可以將所有傳輸過程打印在終端了。通過對郵件的學習,可以極大地便利我們的生活,你可以使用郵件來給你設置一個計劃表,通過程序實現,每天按時發送郵件,是不是很高逼格了,希望今天這篇文章能讓大家對郵件有個全新的認識。

 

責任編輯:姜華 來源: Python爬蟲與數據挖掘
相關推薦

2025-05-07 00:31:30

2021-07-14 09:00:00

JavaFX開發應用

2018-03-23 20:45:23

機器學習NLP文本數據

2022-12-07 08:42:35

2022-05-26 07:41:24

2021-11-09 09:01:36

Python網絡爬蟲Python基礎

2021-08-02 07:35:19

Nacos配置中心namespace

2011-01-10 14:41:26

2011-05-03 15:59:00

黑盒打印機

2022-02-23 20:53:54

數據清洗模型

2020-08-12 09:07:53

Python開發爬蟲

2021-07-09 08:52:19

Python視頻生成神器Python基礎

2021-02-23 09:03:13

Python拆分ExcelCSV文件

2022-07-22 12:45:39

GNU

2021-03-12 10:01:24

JavaScript 前端表單驗證

2020-05-15 08:07:33

JWT登錄單點

2022-10-30 10:31:42

i2ccpuftrace

2021-12-15 08:49:21

gpio 子系統pinctrl 子系統API

2020-12-07 09:01:58

冪等系統f(f(x)) =f(

2021-01-19 09:06:21

MysqlDjango數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 4h影视| 欧美国产日韩在线观看成人 | jav成人av免费播放 | 国产农村妇女毛片精品久久麻豆 | 伊人久久国产 | 亚洲第一在线 | 欧美日韩在线综合 | 欧美一区二区综合 | 成年人在线观看 | 九九热精品视频 | 在线一区二区三区 | 中文字幕视频在线观看免费 | 久草免费在线视频 | 成人午夜激情 | 91素人| 日韩精品在线观看一区二区 | 成人黄色电影在线播放 | 成人福利网 | 天天久久| 蜜桃久久| 在线播放一区二区三区 | 成人免费看片又大又黄 | 91社区在线观看高清 | 91av在线不卡 | 嫩草懂你的影院入口 | 国产色婷婷久久99精品91 | 大陆一级毛片免费视频观看 | 天天色天天射天天干 | 欧美日韩精品中文字幕 | www.yw193.com| 久久久久久91 | 久久久久久成人 | 久久一区精品 | 99精品欧美一区二区蜜桃免费 | 国产日韩欧美一区二区在线播放 | www.av在线| 成年人在线观看 | 国产精品一区二区av | 欧美a区 | 国产精品观看 | 亚洲成人免费在线 |