我试图在我的网站上使用应用引擎邮件发送服务。 目前,我已经做了一些简单的事情:
message = mail.EmailMessage(sender="Subhranath Chunder <subhranath@gmail.com>", \
subject="Your account has been approved")
message.to = "Subhranath Chunder <subhranathc@yahoo.com>"
message.body = "Just another message"
message.send()
但每次代码处理程序都会引发此错误:
2011-08-20 04:44:36.988
ApplicationError: 1 Internal error
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py", line 703, in __call__
handler.post(*groups)
File "/base/data/home/apps/s~subhranath/0-2.352669327317975990/index.py", line 71, in post
message.send()
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/mail.py", line 895, in send
raise e
ApplicationError: ApplicationError: 1 Internal error
我的代码是不同的版本,而不是默认版本。我无法将此版本更改为默认版本,除非此错误得到解决。知道为什么会这样吗?
答案 0 :(得分:0)
发件人必须具有特权或登录用户。所以subhranath@gmail.com应该拥有您所在位置的管理员权限,或者是登录用户来运行您的代码。
最基本的例子就是HTTP发送电子邮件:
def get(self):
message = mail.EmailMessage(sender='subhranath_app_admin@gmail.com', subject='Email')
message.to='any...@gmail.com'
message.body = os.environ.get('HTTP_HOST')
message.send()
如果您想以登录用户身份发送电子邮件,可以将发件人变为变量:
senderemail = users.get_current_user().email() if users.get_current_user() else 'subhranath@gmail.com'
我认为您发布的错误消息不是很清楚,如果它仍然存在,我建议使用日志记录和异常获取有关错误消息的更多信息。
答案 1 :(得分:0)
似乎是一个应用引擎系统故障。相同的代码现在正在运行,没有任何新的部署。