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 = "[email protected]" _pwd = "***" _to = "[email protected]" #如名字所示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()