Лучший способ отправки фотографии внутри почты Django

Каким образом лучше всего прикрепить логотип моего сайта к письму активации? Я пытался сделать что-то вроде этого:

@lru_cache()
def logo_data():
    with open('templates/authentication/logo.png', 'rb') as f:
        logo_data = f.read()
    logo = MIMEImage(logo_data)
    logo.add_header('Content-ID', '<logo>')
    return logo

и затем:

email=EmailMessage(subject=email_subject, body=email_body, from_email=settings.EMAIL_FROM_USER, to=[user.email])
email.attach(logo_data())
email.content_subtype='html'
email.send()

В моем html-файле это выглядит следующим образом:

<img src="cid:logo" style="width: 242px; height: 88px;"/>

но это не работает. Фотография действительно добавляется в письмо во вложениях, но тег <img> пуст и выглядит следующим образом: enter image description here

Что не так? Я читал также, что прикреплять фотографии к электронной почте не рекомендуется, потому что почта получает из-за этого дополнительные очки спама. Как лучше поступить в этом случае? Могу ли я отправить свой логотип в формате png, не прикрепляя его во вложения?

EDIT

Я пытался добавить url (к моей фотографии на google drive) как это или но эти свойства исчезают внутри почты

Вы можете использовать CDN, например S3 или Google Cloud bucket, чтобы загрузить изображение и добавить url изображения в тег <img src="URL">.

Вернуться на верх