在将我的应用程序迁移到GAE之前,我使用以下代码发送电子邮件,它的效果非常好:
from django.core.mail import send_mail
subject = 'Hello!'
msg = '\n \n Hello World!'
sender = settings.DEFAULT_FROM_EMAIL
to = ['xx@xx.com']
send_mail(subject,msg,sender,to,fail_silently=False)
现在,在迁移到GAE之后(在Python 2.7上),它不起作用。它只是抛出以下错误:
Exception Type: NotImplementedError
Exception Location: C:\Program Files(x86)\Google\google_appengine\google\appengine\api\remote_socket\_remote_socket.py in gethostbyaddr, line 256
我将settings.py文件配置为follo
EMAIL_USE_TLS = True
EMAIL_HOST = 'xxx.yyy.com'
EMAIL_HOST_USER = 'my.account@yy.com'
EMAIL_HOST_PASSWORD = 'zzzzzzzzz'
EMAIL_PORT = 587
是否有人在GAE上发送带有Django模块的电子邮件并了解该错误?
答案 0 :(得分:3)
如果您想从AppEngine发送电子邮件,请使用mail.send_mail():
from google.appengine.api import mail
mail.send_mail(sender="Example.com Support <support@example.com>",
to="Albert Johnson <Albert.Johnson@example.com>",
subject="Your account has been approved",
body="Hello, world!")
答案 1 :(得分:-1)
我弄清楚了为什么会出现这个错误:
GAE不支持Django send_mail。有必要在我们的应用程序中添加一个Django电子邮件后端,以便在GAE上执行。
要做的两个步骤:
导入第三方模块 - &gt; appengine_emailbackend
在settings.py文件中记下以下一行:
EMAIL_BACKEND ='appengine_emailbackend.async.EmailBackend'
EMAIL_BACKEND ='appengine_emailbackend.EmailBackend'
即便如此,在使用后端后,它不会抛出任何错误,但它不会发送任何内容。
有人可以帮忙吗?