2011-06-20 58 views
4

我想發送電子郵件與HTML和embadded圖像。電子郵件發送工作正常,它還附加在電子郵件中的圖像,但它不顯示圖像在HTML(內聯)。我使用的內容:ID鑑於和CID的模板,但沒有成功:(我這麼探索多種形式和應用解決方案,但不成功,請幫助!下面是我的代碼:Django EmailMultiAlternatives與HTML添加圖像

html_content = render_to_string('newsletters/newsletter_template.html', vars) 
text_content = strip_tags(html_content) 

to = '[email protected]' 


msg = EmailMultiAlternatives(self.subject, text_content, settings.STAFF_FROM_EMAIL, [to]) 
msg.attach_alternative(html_content, "text/html") 

image_file = open('../media/images/banner_admin.gif', 'rb') 
msg_image = MIMEImage(image_file.read()) 
image_file.close() 

msg_image.add_header('Content-ID', '<image1>') 
msg.attach(msg_image) 

msg.send() 

模板文件:

<div style="border:2px solid #CCCCCC; width:900px; font-size:10px; padding:5px;"> 
    <div style="margin-bottom: 10px;"><img src="cid:image1" /></div> 
    <div style="">{{body|linebreaks}}</div> 
</div> 

請讓我知道如果我在這裏缺少的東西...在HTML電子郵件

+0

嗨。您的代碼正在爲我工​​作。我收到了帶有GMail的格式化電子郵件,它工作正常。 –

回答

-1

圖像需要有絕對網址:

<img alt="Django" src="https://www.djangoproject.com/m/img/site/hdr_logo.gif"> 
+0

這是不正確的; HTML電子郵件中的圖像標籤可以通過引用content-id來引用附件。有關更多詳情,請參閱http://www.campaignmonitor.com/blog/post/1759/embedding-images-revisited/。 – rossp

+0

我不知道。感謝您的鏈接。 – Brandon

+0

問題是關於嵌入式圖像而不是遠程託管的圖像 –