我正在尝试通过Google App Engine开发服务器在本地发送邮件:

dev_appserver.py --show_mail_body true --smtp_host=xxx --smtp_port=25 --smtp_user=xxx --smtp_password=xxx app.yaml


if err := mail.Send(c, &mail.Message{
    Sender:  "[email protected]",
    To:       []string{"[email protected]"},
    Subject:  "Test",
    Body:     "Text Body",
    HTMLBody: "HTML Body",
}); err != nil {
    c.Errorf("%v", err)
}

不幸的是,这导致以下错误:
  File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/smtplib.py", line 731, in sendmail
    senderrs[each] = (code, resp)
TypeError: unhashable instance

有人可以帮我解决这个问题吗? --enable_sendmail true有效。 Traceback

最佳答案

smtplib.py的该位正在处理rcpt()的错误,该错误已尝试将rcpt TO:[email protected]发送到smtp。所以有两个问题:rcpt提示什么,以及unhashable instance怎么回事。对于后者,我建议提交错误报告。该代码不应该这样做。对于前者,真的很想在print上方的smtplib.py中放入一些简单的senderrs[each] = (code, resp)调试。 smpt可能会向您显示一些简单的上游错误,绕过该错误可能会消除对整理不可哈希实例的需求(我想这是由GAE端的代码引起的)。

关于python - Google App Engine mail.Send在python2.7/smtplib.py中返回 “TypeError: unhashable instance”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27195432/

10-10 06:47