2015-04-06 4 views
4

Так как Django 1.7 вышел, все немного изменилось. Im пытается использовать 'send_mail' для отправки электронной почты HTML.Отправка html-адреса электронной почты в Django

Я хочу отправить благодарственное письмо пользователям после регистрации на моем сайте.

Im используя

subject = 'Thank you from ******' 
message = 'text version of HTML message' 
from_email = my email address 
to_list = users email address 
html_message= really long set of html code 

send_mail(subject,message,from_email,to_list,fail_silently=True,html_message=html_message) 

Можно ли хранить HTML в виде файла на сервере, а затем преобразовать его в строку, так что он может быть подан в «html_message»?

ответ

7

Да, вы можете. В моем собственном проекте, я использую следующий код, чтобы сделать то же самое:

from django.template import loader 

html_message = loader.render_to_string(
      'path/to/your/htm_file.html', 
      { 
       'user_name': user.name, 
       'subject': 'Thank you from' + dynymic_data, 
       //... 
      } 
     ) 
send_mail(subject,message,from_email,to_list,fail_silently=True,html_message=html_message) 

И HTML-файл выглядит следующим образом:

<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
    <body> 
     <h1>{{ user_name }}</h1> 
     <h2>{{ subject }}</h2> 
    </body> 
</html> 
Смежные вопросы