如果要把一個圖片嵌入到郵件正文中怎么做?直接在HTML郵件中鏈接圖片地址行不行?
答案是,大部分郵件服務商都會自動屏蔽帶有外鏈接的圖片,因為不知道這些鏈接是否指向惡意網站。
要把圖片嵌入到郵件正文中,我們只需要按照發送附件的方式,先把郵件作為附件添加進去,
然后,在HTML中通過引用src=“cid:0”就可以把附件作為圖片嵌入了。如果有多個圖片,給他們依次編號,然后引用不同的cid:x即可。
把上面代碼加入MIMEMultipart的MIMEText從plain改為html,然后在適當的位置引用圖片:
#郵件正文是MIMEText:
msg.attach(MIMEText('<html><body><h1>hello</h1>'+
'<p><img src="cid:0"></p>'+
'</body></html>','html','utf-8'))
同時支持HTML和Plain格式
如果我們發送HTML郵件,收件人通過瀏覽器或者Outlook之類的軟件是可以正常瀏覽郵件內容的,但是如果收件人使用的設備太古老,查看不了HTML郵件怎么辦?
辦法是在發送HTML的同時再添加一個純文本,如果收件人無法查看HTML格式的郵件,就可以自動降級查看純文本郵件。
Python的smtplib發送郵件十分簡單,只要掌握了各種郵件類型的構造方法,正確設置好郵件頭,就可以順利發出。
構造一個郵件對象就是一個Message對象,如果構造一個MIMEText對象,就表示一個文本郵件對象,如果構造一個MIMEImage對象,就表示一個作為附件的圖片,要把多個對象組合起來,就用MIMEMultipart對象,而MIMEBase可以表示任何對象。他們的繼承關系如下:
Message
+-MIMEBase
+-MIMEMultipart
+-MIMENonMultipart
+-MIMEMessage
+-MIMEText
+-MIMIEImage
通過msg.attach添加html文本及多個圖片
這種嵌套關系就可以構造出任意復雜的郵件。你可以通過email.mime文檔查看它們所在的包以及詳細的用法。
————————————————
https://blog.csdn.net/Darin2017/article/details/89634257?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-9.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-9.nonecase