Почта Google App Engine.Отправить возвращает "TypeError: unhashable instance" в python2.7/smtplib.py
Я пытаюсь локально отправлять почту через сервер разработки 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: "xxx@xxx.com",
To: []string{"xxx@xxx.com"},
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
работает кстати. обратная связь .
1 ответ:
Этот бит
smtplib.py
обрабатывает ошибку изrcpt()
, которая пыталась отправитьrcpt TO:xxx@xxx.com
в smtp. Итак, есть два вопроса: на что жалуетсяrcpt
и что сunhashable instance
. Для последнего я рекомендую подать отчет об ошибке. Код не должен этого делать. Для первого было бы очень соблазнительно поместить некоторую простую отладкуsmtplib.py
прямо надsenderrs[each] = (code, resp)
. Возможно, существует какая-то простая восходящая ошибка, которую smpt показывает вам, обход которой может устранить необходимость в сортировке unhashable экземпляр (который, как я предполагаю, вызван кодом на стороне GAE).