1

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

我的设置.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"

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

4

1 回答 1

4

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 邮件 API 使用 Django 包装器,例如内置rocket_engine或独立的包装器。

如果您这样做,您可以像 Django 一样执行电子邮件发送,这更像是一个插件可以安装到您的 Django 项目中,然后您的设置将无需任何更改即可工作。

于 2014-03-25T08:35:12.613 回答