Django联系表格发送HTML电子邮件

时间:2010-12-23 20:06:39

标签: html django contact-form

有没有办法使用django-contact-form发送html电子邮件?

1 个答案:

答案 0 :(得分:2)

我只是查看了源代码而它没有内置。

你可以随意修改它 - 它是一个非常简单的形式,非常易读。

您需要添加一个html_template变量/路径并修改保存行,并添加一种方法来指定要使用的模板。

def save(self, fail_silently=False):
    """
    Build and send the email message.

    """
    data = self.get_message_dict()
    msg = EmailMultiAlternatives(subject=data['subject'], body=data['message'], from_email=data['from_email'], to=data['recipient_list'])

    msg.attach_alternative(loader.render_to_string('path_to_my_html_template.html', self.get_context()), "text/html")
    msg.send(fail_silently=fail_silently)

这样可以更容易地将所有更改保存在一个位置。

否则,您可以重写大部分代码并更改get_message_dict()中的方法名称和字符串,以反映EmailMessage的新字段名称

坦率地说,我不确定为什么send_mail应该有不同于EmailMessage

的关键字