Я пытаюсь отправить электронное письмо из представлений django, содержащее встроенное изображение.
Я не хочу показывать изображение на каком-либо сервере, поэтому я пытаюсь использовать кодированный в base64 формат для встраивания изображения.
Ниже приведен код, который я написал до сих пор:
получить дату изображения в формате Base64
def get_image(f_path):
with open(f_path, 'rb') as f:
img_data = f.read()
img = 'data:image/png;base64{}'.format(base64.b64encode(img_data).decode())
return img
Функция отправки электронной почты
def send_email(to_emails):
img_data = get_image("/myfolder/abcd.png")
template = "<h1> WTH </h1> <br/> <img src=\"%s\" />" %(img_data)
message = EmailMultiAlternatives(
subject="Just a subject don't bother",
body="blah blah",
from_email="xxxx",
to=[to_emails],
)
message.attach_alternative(template, "text/html")
message.send(fail_silently=False)
Письмо отправлено, но без изображения.
Пожалуйста, скажите мне, если я что-то упустил.
Заранее спасибо.