Desde o lançamento do Django 1.7, as coisas mudaram um pouco. Estou tentando usar "send_mail" para enviar um email em HTML.
Quero enviar um e-mail de agradecimento aos usuários depois de se inscrever no meu site.
Estou a usar
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)
É possível armazenar o html como um arquivo no servidor e depois convertê-lo em uma string para que possa ser alimentado em "html_message"?
Respostas:
10 para resposta № 1Sim você pode. No meu próprio projeto, eu uso o seguinte código para fazer a mesma coisa:
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)
E o arquivo html se parece com isso:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>{{ user_name }}</h1>
<h2>{{ subject }}</h2>
</body>
</html>