如何使用图像的base64数据将图像作为django中的嵌入式图像嵌入到电子邮件中

时间:2018-08-28 18:22:53

标签: django image inline django-email

我正在尝试从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)

已发送电子邮件,但没有图像。 请告诉我我是否缺少什么。

谢谢。

0 个答案:

没有答案