Django使用模板发送电子邮件

时间:2020-05-22 04:03:33

标签: django image email templates

我想使用Django发送电子邮件。在邮件正文中,我要发送包含“图像”和HTML内容的Bootstrap“卡”。

发送邮件成功。但是,它没有在收到的邮件中显示图像。另外,它不是Bootstrap“卡”格式。

请有人帮我。

views.py

emailSubject = "Mail from XYZ.COM"
emailOfSender = EMAIL_HOST_USER
emailOfRecipient = viewed_bog.profile.user.email

html_content = render_to_string('receipt_email.html', {'item': viewed_bog, }, request=request)

try:        
    emailMessage = EmailMultiAlternatives(subject=emailSubject, body=html_content,      
                   from_email=emailOfSender,                                           
                   to=[emailOfRecipient, ], reply_to=[emailOfSender, ])
    emailMessage.attach_alternative(html_content, "text/html")
    emailMessage.send(fail_silently=False)

except SMTPException as e:
    print('There was an error sending an email: ', e)

receipt_email.html

这是HTML模板,其中包含使用Django模板语言的Bootstrap 4“卡”。在卡片中,我有图像。

现在,我可以成功发送邮件了。但是图像未显示在收到的邮件中。并且,邮件正文不是“卡”格式。

1 个答案:

答案 0 :(得分:0)

我将假定您正在从bootstrap.css文件中加载CSS,并且由于安全原因,大多数邮件提供者会阻止加载CSS和js文件,因此您应该在要发送的模板中使用内联样式。 最终这是我想将常规CSS编译为内联CSS时使用的一种在线工具。 css inline tool