Как встроить изображение с html, используя MultiEmailAlternatives? - PullRequest
0 голосов
/ 28 января 2020

Здесь я пытаюсь отправить изображение вместе с шаблоном html. Для этого я придерживаюсь двух подходов: 1> первый подход, я сделал функцию logo_data (), чтобы получить изображение, и я добавил msg.attach(logo_data()) после msg.attach_alternative(), но этот метод не сработало. 2> Во втором подходе я отправляю current_site в шаблон через контекст с помощью метода get_current_site() и определяю изображение с помощью тега stati c, как это в шаблоне, но я также не работал.

Как можно также отправить электронное письмо с изображениями. Отправка html шаблона работает нормально, только изображения в шаблоне не отображаются

<img src="{{site}}{% static 'dist/img/logo.png' %}"

views.py

def logo_data():
    with open(finders.find('static/dist/img/logo.png'), 'rb') as f:
        logo_data = f.read()
    logo = MIMEImage(logo_data)
    logo.add_header('Content-ID', '<logo>')
    return logo

def send_mail(request):
.............
            site=get_current_site(request)
            html_content = render_to_string('mailverification/guest_notification_after_cleaning.html',{'site':site.domain})
            subject, from_email, to = 'Hello', settings.EMAIL_HOST_USER, email
            msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
            msg.attach_alternative(html_content, "text/html")
            msg.attach(logo_data())
            msg.send() 
            return HttpResponse('mail send')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...