dam*_*mon 2 python email django
我正在使用Django发送一封包含文本部分和HTML部分的电子邮件.这是代码:
subject = request.session.get('email_subject', None)
from_email = request.session.get('user_email', None)
to = request.session.get('user_email', None)
bcc = [email.strip() for email in request.session.get('email_recipients', None).split(settings.EMAIL_DELIMITER)]
text_content = render_to_response(email_text_template, {
'body': request.session.get('email_body', None),
'link': "http://%(site_url)s/ecard/?%(encoded_greeting)s" % {
'site_url': settings.SITE_URL,
'encoded_greeting': urlencode({'g': quote_plus(request.session.get('card_greeting'))}),
},
}, context_instance=RequestContext(request))
html_content = render_to_response(email_html_template, {
'body': request.session.get('email_body', None),
'link': "http://%(site_url)s/ecard/?%(encoded_greeting)s" % {
'site_url': settings.SITE_URL,
'encoded_greeting': urlencode({'g': request.session.get('card_greeting')}),
},
'site_url': settings.SITE_URL,
}, context_instance=RequestContext(request))
email = EmailMultiAlternatives(subject, text_content, from_email, [to], bcc)
email.attach_alternative(html_content, "text/html")
sent = email.send()
当用户收到电子邮件时,其中包含以下文本:"Content-Type:text/html; charset = utf-8".有没有一个好方法摆脱这个?
您正在生成html_content和text_content使用render_to_response,它返回一个HttpResponse对象.
但是你想要html_content和text_content成为字符串,所以请render_to_string改用.
您可以render_to_string使用以下行导入:
from django.template.loader import render_to_string
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1050 次 |
| 最近记录: |