python - 电子邮件正文中呈现的 HTML

标签 python django

我想邮寄一个包含一些数据的简单 HTML 文件。我希望用户接收渲染的 HTML。我尝试过这个解决方案:

b = render_to_string('mail_body.html',{'name':request.POST['name']})
send_mail(email_subject,b,'<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c3b0a6ada7a6b183a4aea2aaafeda0acae" rel="noreferrer noopener nofollow">[email protected]</a>', ['<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6c1e090f09051a091e2c0b010d0500420f0301" rel="noreferrer noopener nofollow">[email protected]</a>'],
    fail_silently=False)

但我没有在邮件正文中呈现 HTML,并且用户可以看到所有 HTML 标签!

或者,当我使用以下代码时,我只获取邮件正文中 HTML 文件的路径:

params = {}
params['name'] = request.POST['name']
context = Context(params)
t = Template('mail_body.html')
send_mail(email_subject,t.render(context), '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="bfccdad1dbdacdffd8d2ded6d391dcd0d2" rel="noreferrer noopener nofollow">[email protected]</a>',
    ['<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="abd9cec8cec2ddced9ebccc6cac2c785c8c4c6" rel="noreferrer noopener nofollow">[email protected]</a>'], fail_silently=False)

最佳答案

你可以尝试这样的事情:

from django.core.mail import EmailMultiAlternatives
body = render_to_string(template_name, locals(),
                      context_instance=RequestContext(request))
email = EmailMultiAlternatives(subject, body, mail_sender, [contact_request.email], headers={'Reply-To': '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c9ada696a7a6bd96bbacb9a5b089bea1a8bdacbfacbbe7aaa6a4" rel="noreferrer noopener nofollow">[email protected]</a>'})
email.content_subtype='html'
email.send(fail_silently=False)

希望这能引导我们走向正确的方向。请注意,这里有很多变量来 self 自己的编程。

关于python - 电子邮件正文中呈现的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11119211/

相关文章:

django - 更新模板内变量的值 - django

django - 使用模型表单创建自定义错误消息

python - 神经网络验证准确性有时不会改变

python - Tkinter 最大化/恢复/调整差异化大小

django - 导入 asgi_redis : ImportError: No module named _compat

python - 跨应用持久化测试数据

python - 为什么已经导入了整个包,还要在 Python 中导入特定的子包?

python - 使用月费计算正确的实际利率

python - 安装r包后rpy2错误

python - 如何在让管理员在 Django 中默认工作的同时为我的应用程序创建自定义用户模型?