激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

香港云服务器
服務器之家 - 腳本之家 - Python - 用Python實現(xiàn)一個簡單的能夠發(fā)送帶附件的郵件程序的教程

用Python實現(xiàn)一個簡單的能夠發(fā)送帶附件的郵件程序的教程

2020-06-01 10:39腳本之家 Python

這篇文章主要介紹了用Python實現(xiàn)一個簡單的能夠發(fā)送帶附件的郵件程序的教程,用MIMEApplication模塊來發(fā)送各種類型的文件,需要的朋友可以參考下

基本思路就是,使用MIMEMultipart來標示這個郵件是多個部分組成的,然后attach各個部分。如果是附件,則add_header加入附件的聲明。
在python中,MIME的這些對象的繼承關(guān)系如下。
MIMEBase
    |-- MIMENonMultipart
        |-- MIMEApplication
        |-- MIMEAudio
        |-- MIMEImage
        |-- MIMEMessage
        |-- MIMEText
    |-- MIMEMultipart
一般來說,不會用到MIMEBase,而是直接使用它的繼承類。MIMEMultipart有attach方法,而MIMENonMultipart沒有,只能被attach。
MIME有很多種類型,這個略麻煩,如果附件是圖片格式,我要用MIMEImage,如果是音頻,要用MIMEAudio,如果是word、excel,我都不知道該用哪種MIME類型了,得上google去查。
最懶的方法就是,不管什么類型的附件,都用MIMEApplication,MIMEApplication默認子類型是application/octet-stream。
application/octet-stream表明“這是個二進制的文件,希望你們那邊知道怎么處理”,然后客戶端,比如qq郵箱,收到這個聲明后,會根據(jù)文件擴展名來猜測。

下面上代碼。
假設當前目錄下有foo.xlsx/foo.jpg/foo.pdf/foo.mp3這4個文件。
 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
_user = "sigeken@qq.com"
_pwd = "***"
_to  = "402363522@qq.com"
  
#如名字所示Multipart就是分多個部分
msg = MIMEMultipart()
msg["Subject"] = "don't panic"
msg["From"= _user
msg["To"]   = _to
  
#---這是文字部分---
part = MIMEText("喬裝打扮,不擇手段")
msg.attach(part)
  
#---這是附件部分---
#xlsx類型附件
part = MIMEApplication(open('foo.xlsx','rb').read())
part.add_header('Content-Disposition', 'attachment', filename="foo.xlsx")
msg.attach(part)
  
#jpg類型附件
part = MIMEApplication(open('foo.jpg','rb').read())
part.add_header('Content-Disposition', 'attachment', filename="foo.jpg")
msg.attach(part)
  
#pdf類型附件
part = MIMEApplication(open('foo.pdf','rb').read())
part.add_header('Content-Disposition', 'attachment', filename="foo.pdf")
msg.attach(part)
  
#mp3類型附件
part = MIMEApplication(open('foo.mp3','rb').read())
part.add_header('Content-Disposition', 'attachment', filename="foo.mp3")
msg.attach(part)
  
s = smtplib.SMTP("smtp.qq.com", timeout=30)#連接smtp郵件服務器,端口默認是25
s.login(_user, _pwd)#登陸服務器
s.sendmail(_user, _to, msg.as_string())#發(fā)送郵件
s.close()

延伸 · 閱讀

精彩推薦
1061
主站蜘蛛池模板: 精品成人一区二区三区 | 国产免费高清 | 日韩字幕 | 国产精品呻吟 | 亚洲乱码精品久久久久 | av影院在线播放 | v11av在线播放 | 亚洲av毛片在线观看 | 欧美亚洲黄色 | 国产亚洲精品视频中文字幕 | 欧美 亚洲 激情 | 国产精品99久久久久久久 | 久久新网址 | 欧洲精品久久久久69精品 | 石原莉奈日韩一区二区三区 | 国产乱淫a∨片免费观看 | 草草久| 在线观看免费污视频 | 91黄瓜视频| 欧美a在线| 中文字幕网站在线 | 久久久久免费电影 | 日本黄色不卡视频 | 特级黄色影院 | 欧美性生活视频免费 | 欧美精品电影一区 | 一区二区精品视频 | 久草在线观看福利 | 日本黄肉网站在线观看 | 中文字幕在线观看91 | 九色国产| 性高跟鞋xxxxhd4kvideos | 亚洲 91 | 女人叉开腿让男人桶 | 毛片免费视频播放 | 午夜在线视频一区二区三区 | 在线高清中文字幕 | 国产精品美女久久久久久不卡 | 狠狠干夜夜草 | 亚洲最新无码中文字幕久久 | 国产精品久久久久久久av |