sql字符串函數年夜全和應用辦法示例。本站提示廣大學習愛好者:(sql字符串函數年夜全和應用辦法示例)文章只能為提供參考,不一定能成為您想要的結果。以下是sql字符串函數年夜全和應用辦法示例正文
根本思緒就是,應用MIMEMultipart來標示這個郵件是多個部門構成的,然後attach各個部門。假如是附件,則add_header參加附件的聲明。
在python中,MIME的這些對象的繼續關系以下。
MIMEBase
|-- MIMENonMultipart
|-- MIMEApplication
|-- MIMEAudio
|-- MIMEImage
|-- MIMEMessage
|-- MIMEText
|-- MIMEMultipart
普通來講,不會用到MIMEBase,而是直接應用它的繼續類。MIMEMultipart有attach辦法,而MIMENonMultipart沒有,只能被attach。
MIME有許多品種型,這個略費事,假如附件是圖片格局,我要用MIMEImage,假如是音頻,要用MIMEAudio,假如是word、excel,我都不曉得該用哪一種MIME類型了,得上谷歌去查。
最懶的辦法就是,不論甚麼類型的附件,都用MIMEApplication,MIMEApplication默許子類型是application/octet-stream。
application/octet-stream注解“這是個二進制的文件,願望你們那裡曉得怎樣處置”,然後客戶端,好比qq郵箱,收到這個聲明後,會依據文件擴大名來猜想。
上面上代碼。
假定以後目次下有foo.xlsx/foo.jpg/foo.pdf/foo.mp3這4個文件。
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())#發送郵件
s.close()