2014-10-28 127 views
0

我試圖發送帶有嵌入式圖像的HTML電子郵件,如文章https://www.vlent.nl/weblog/2014/01/15/sending-emails-with-embedded-images-in-django/中所示。我有它的工作。現在,我想將它與Django郵件程序集成在一起:https://github.com/pinax/django-mailer用Django中的嵌入式圖像發送HTML電子郵件

我可以排隊電子郵件一次發送和發送一批電子郵件。

代碼,我是:

msg = EmailMultiAlternatives(subject, text_content, from_email, to_email) 
msg.attach_alternative(html_content, "text/html") 
msg.mixed_subtype = 'related' 

fp = open(STATIC_ROOT+ filename, 'rb') 
msg_img = MIMEImage(fp.read()) 
fp.close() 
msg_img.add_header('Content-ID', '<{}>'.format(filename)) 
msg.attach(msg_img) 

,併發送電子郵件,我只是做一個:

msg.send() 

要使用Django郵件發送HTML格式的電子郵件,我必須使用該模塊:

send_html_mail(subject, message_plaintext, message_html, settings.DEFAULT_FROM_EMAIL, recipients) 

msg.send_html_mail顯然不起作用。我是否錯過了一些東西或者有其他選擇嗎?

回答

1

你可以只實例化自己的連接(注意,Django的1.8將包括這個上下文管理器,但是這還沒有出來),併發送郵件。這應該做的伎倆:

from django.core import mail 

connection = mail.get_connection() 
connection.open() 
connection.send_messages(your_messages) 
connection.close() 

或者:

from django.core import mail 

connection = mail.get_connection() 
connection.open() 
for to_email in recipients: 
    # Generate your mail here 
    msg = EmailMultiAlternatives(..., connection=connection) 
    msg.send() 
connection.close() 
相關問題