从Google App Engine上的Django联系表单发送电子邮件重定向到404

时间:2014-02-18 08:01:11

标签: django google-app-engine nginx google-cloud-platform

我一直在尝试在目前托管在Google云平台上的简单博客应用程序上设置django联系表单。 该应用程序似乎在本地工作,它发送电子邮件并将最终用户重定向到已完成的页面,但是当我将其推送到生产服务器时,它会尝试发送大约30秒的电子邮件然后超时,我会被重定向到404 。 我检查了我的nginx错误和访问日志以及我的gunicorn日志,似乎一个枪炮工人在30秒后超时,因此404.最初我认为这是因为我的端口587被锁定在Google云端然而,即使我打开所述端口,它仍然会失败。

我的settings.py:

Emailer EMAIL_HOST = "send.one.com" 
EMAIL_PORT = "587"
EMAIL_HOST_USER = "postman@email.co.uk"       
EMAIL_HOST_PASSWORD = "password"
DEFAULT_FROM_EMAIL = "postman@email.co.uk" 
SERVER_EMAIL = "postman@email.co.uk"

我试图通过使用TLS来运行它    EMAIL_USE_TLS = True 但没有成功。 有没有人遇到过这个问题?

1 个答案:

答案 0 :(得分:3)

App Engine会阻止这种打开套接字的连接。

如果您想在Google App Engine上发送邮件,则有2个选项:

  1. 直接使用Google App Engine提供的Mail API,它将是一套处理Google App Engine邮件的API,供参考,您可以在此处查看:Google App Engine Mail API for Python

  2. 对GAE Mail API使用Django包装器,如rocket_engine中内置的那个或独立的。

  3. 如果您正在执行此操作,您可以按照与Django相同的方式执行电子邮件发送,它更像是可以将插件安装到您的Django项目中,那么您的设置将无需任何更改