【问题标题】:Send the html content via email in Jquery在 Jquery 中通过电子邮件发送 html 内容
【发布时间】:2013-10-08 18:57:23
【问题描述】:

我正在使用 Django 视图呈现一个 HTML(1) 文件,该文件向另一个 Django URL 发出 AJAX 请求,并且响应被转换为另一个 HTML(2)。 我想通过电子邮件发送 HTML(2) 的内容,有没有办法做到这一点?

ps:我还有定义 HTML(2) 布局的 css 文件。我想确保收件人可以查看 css 格式的 HTML。 这是我创建 HTML(2) 的代码。

 success: function(response) {
            var output  = "<ul>";
            //output += "<table border=\"1\">";
                $.each(response, function(entryIndex, entry){
                $.each(entry, function(key,value ){
                if (key != '_id'){
                if (key == 'week'){
                output += "<table border=\"1\">";
                output += "<tr>";
                output += "<th colspan=2><br>"+key+value+"</th>";
                output += "</tr>";
                //output += "</ul>";
                 }
                else{
                if ( key == 'report'){
                $.each(value, function(key1,value1){
                output += "<tr>";
                output += "<td>"+key1+" </td>";
                output += "<td>"+value1+" </td>";
                output += "</tr>";  
                });
                output += "</ul>";
                }
                }
                }
               });
               });
               output += "</ul>"; 
            $('p').html(output);
            },

【问题讨论】:

标签: jquery html css django html-email


【解决方案1】:

在您看来,您需要将 HTML(2) 呈现为字符串并使用原始的 Django 电子邮件功能来实际发送它。

from django.core.mail import send_mail
from django.template.loader import render_to_string


emailBody = render_to_string('email_template.html', {'templateVars': 'values'})

send_mail('Subject here', 'emailBody, 'from@example.com', ['to@example.com'], fail_silently=False)

就 CSS 部分而言,您要么需要单独托管它,要么将其嵌入到电子邮件正文中。这是另一个主题。

【讨论】:

  • 感谢指点!如果您注意到我的问题,我将在 JQuery 脚本中基于对 AJAX 调用的响应创建 HTML(2)。我无权访问脚本中的 Django 模块。我已将“编辑”中的 JQuery 部分复制粘贴到问题中。
  • 如果“完成”的 HTML(2) 仅在本地客户端上,我认为这不会起作用。如果内容仅在本地呈现,则无法触发内容的电子邮件发送,因为这会带来明显的安全隐患。您需要像上面那样进行重组,以便“完成”的 HTML(2) 在服务器上,并且可以在所有服务器端发送。
猜你喜欢
  • 1970-01-01
  • 2022-10-23
  • 2019-01-01
  • 1970-01-01
  • 2012-06-29
  • 1970-01-01
  • 2010-11-22
  • 2017-03-01
相关资源
最近更新 更多