在Jquery中通过电子邮件发送html内容

时间:2013-10-08 18:57:24

标签: jquery html css django html-email

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

p.s:我还有css文件,它定义了HTML(2)的布局。我想确保收件人可以查看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);
            },

1 个答案:

答案 0 :(得分:1)

在您的视图中,您需要将HTML(2)呈现为字符串并使用vanilla 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部分而言,您需要单独托管或将其嵌入电子邮件正文中。这是另一个主题。