2014-10-28 5 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.Отправить HTML-адрес электронной почты с изображениями Inline в Django

I-e я могу поставить в очередь электронные письма, чтобы отправить и отправить партию писем за один раз.

код я имею:

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() 

Для отправки HTML писем с Django почтовика, я должен использовать модуль:

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() 

 Смежные вопросы

  • Нет связанных вопросов^_^