3

我正在通过以下方法发送电子邮件:

EmailMultiAlternatives() 

当调用 send() 方法时;我在某个基类中遇到错误。

lib/email/encoders.py
'Template' object has no attribute 'encode'

异常位置:C:\Python27\lib\email\encoders.py 在 encode_7or8bit 中,第 73 行

Python 可执行文件:C:\Python27\python.exe

错误路径:

>   return msg.send(fail_silently)

C:\Python27\lib\email\mime\text.py in __init__
>  self.set_payload(_text, _charset)

C:\Python27\lib\email\message.py in set_payload
>   self.set_charset(charset)

C:\Python27\lib\email\message.py in set_charset
>  cte(self)

C:\Python27\lib\email\encoders.py in encode_7or8bit
>  orig.encode('ascii')

谁能知道这个错误?

使用以下代码更新帮助我解决了我的问题。

fail_silently=True

t = get_template(template_name)
html_part = t.render(context)
msg = EmailMultiAlternatives(subject,
                                 t,
                                 sender,
                                 recipients,
                                 bcc=bcc)
msg.attach_alternative(html_part, "text/html")

return msg.send(fail_silently)
4

1 回答 1

0

使用get_templatedjango.template.loader 中的方法时,出现以下错误

错误:“模板”对象的 AttributeError 没有属性“分割线”

对我有用的解决方案

from django.template.loader import render_to_string

于 2020-10-09T12:27:40.090 回答