python - Django 发送带有链接的电子邮件不起作用
问题描述
我正在尝试发送带有附加链接的邮件Django
。
我的views.py
:
def mail_report(request, pk):
admin_objs = Admin.objects.order_by()
Report_obj = Report.objects.filter(pk=pk).first()
to = []
for i in admin_objs:
to.append(i.email)
mail_report_dict = {
'report' : Report_obj,
}
html_content = render_to_string("app/mail_report.html", mail_report_dict)
text_content = strip_tags(html_content)
email = EmailMultiAlternatives(
"Industry Inspection Report from Project Surokkha",
text_content,
settings.EMAIL_HOST_USER,
to
)
email.send()
return redirect('app:index')
我的template
:
<!DOCTYPE html>
{% load static %}
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
</head>
<body>
<h3>Hello Admin,</h3>
<p>
Inspection Report of {{ report.name }}
</p>
<p>
Please check the report:
<a href="https://html2canvas.hertzen.com/configuration" style="color: skyblue;">
report link
</a>
</p>
</body>
</html>
但是当收到邮件时,没有带有单词的超链接report link
。注意:我mail_report.html
也在我的浏览器中检查了,它完美地包含了链接。
我怎样才能解决这个问题?
解决方案
您忘记附加替代html_content
项,即将您的使用更改EmailMultiAlternatives
为:
email = EmailMultiAlternatives(
"Industry Inspection Report from Project Surokkha",
text_content,
settings.EMAIL_HOST_USER,
to
)
email.attach_alternative(html_content, "text/html")
email.send()
另请参阅Django 文档。
推荐阅读
- c# - 奇怪的注册表访问异常
- azure-devops - 如何在 azureDevOps 应用服务中部署 Angular 通用应用
- php - debug_backtrace() 缺少类名的后期绑定
- centos7 - 你如何在 centos 6/7 服务器上运行 puppeteer chromium/chrome `headless:false`
- c# - 使用 EF Core 和 OData,应用程序如何按相关实体中的属性进行排序?
- python - Python Web Scraping - 导航到下一页链接并获取数据
- redux - 如何获得 graphql refetchQueries 的结果?
- vue.js - 在这种情况下,有没有办法让转义字符在 Vue.js 中工作?
- python - 如何在python中查找数据框中文本的大小
- android - 如何使用 AsyncTask 中的用户 ID 获取当前登录的用户