django - Django 使用模板发送电子邮件
问题描述
我想使用 Django 发送电子邮件。在邮件正文中,我想发送包含“图像”和 HTML 内容的引导程序“卡片”。
发送邮件成功。但是,它没有在收到的邮件中显示图像。此外,它不是引导程序“卡片”格式。
请有人帮助我。
视图.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)
收据_email.html
这是包含使用 Django 模板语言的 Bootstrap 4“卡片”的 HTML 模板。在卡片中,我有图像。
现在,我可以成功发送邮件了。但是收到的邮件中没有显示图像。而且,邮件正文不是“卡片”格式。
解决方案
我将假设您正在从 bootstrap.css 文件加载 css,并且由于大多数邮件提供商出于安全原因阻止加载 css 和 js 文件,因此您应该在要发送的模板中使用内联样式。最终,当我想将常规 css 编译为内联 css 时,我使用了一个在线工具。 css 内联工具
推荐阅读
- python-3.x - 将 utf-8 字符串更改为 cp1251 (Python)
- javascript - MutationObserver 不断循环遍历每个项目并在 TamperMonkey 脚本中创建冗余按钮
- c# - 如何将图像添加到我的 Xamarin.Forms 共享项目的资源中,以便它可以在 Android 和 iOS 项目中使用?
- reactjs - 如何从单独的服务器将 cookie 设置为下一个 js 应用程序?
- mysql - Mysql为每门课程选择所有课程及其章节
- python - TensorFlow 概率 - Bijector 训练
- python - 在python中将json写入excel文件的问题
- go - gocql 绑定在并发调用的情况下不起作用
- python - Django 3.1 | 管理页面外观问题
- python - SIR 估计在估计参数时发现错误原因