在Django EmailMessage中传递元组作为'To'参数时出错
我在尝试发送电子邮件时遇到了一个错误,具体是在给“收件人”参数传递一组电子邮件地址时出现的问题。
> TypeError: sequence item 0: expected
> string, tuple found
我查看了Django的文档,关于EmailMessage类,上面说这样做应该是没问题的。有没有人能给点建议,看看可能出什么问题了?
我构建EmailMessage对象的方式是这样的:
spam = EmailMessage("Some title - %s \"%s\"" % (subject, task.name), message,
"%s <%s>" % (user.get_full_name(), user.email), settings.MAIL_LIST)
spam.content_subtype = "html"
spam.send()
还有
settings.MAIL_LIST = ["foo@bar.com", "foo2@bar.com", "foo3@bar.com"]
部分错误追踪信息:
> File "/myClass/Mail.py", line 217, in
> contact_owner
> spam.send()
>
> File
> "/port/python-environments/port_web/lib/python2.6/site-packages/django/core/mail.py",
> line 281, in send
> return self.get_connection(fail_silently).send_messages([self])
>
> File
> "/port/python-environments/port_web/lib/python2.6/site-packages/django/core/mail.py",
> line 185, in send_messages
> sent = self._send(message)
>
> File
> "/port/python-environments/port_web/lib/python2.6/site-packages/django/core/mail.py",
> line 199, in _send
> email_message.message().as_string())
>
> File
> "/port/python-environments/port_web/lib/python2.6/site-packages/django/core/mail.py",
> line 253, in message
> msg['To'] = ', '.join(self.to)
>
> TypeError: sequence item 0: expected
> string, tuple found
2 个回答
0
发送HTML邮件的示例
from django.core.mail import EmailMultiAlternatives
from django.utils.html import strip_tags
subject = render_to_string('cart/email/order_subject.txt',c)
html_body = t.render(Context(c))
text_body = strip_tags(html_body)
msg = EmailMultiAlternatives(subject, text_body, None, sc.settings['email_order'].split(','))
msg.attach_alternative(html_body, "text/html")
msg.send()
0
这其实不是个问题,因为我上面提供的信息是错误的。我的错误基本上就是错误信息所描述的那样。我把一串字符串形式的电子邮件地址传给了需要一组元组的代码。