【问题标题】:Google Cloud Engine - How to receive an email and handle in Python 3.7?Google Cloud Engine - 如何在 Python 3.7 中接收和处理电子邮件?
【发布时间】:2019-08-09 15:55:15
【问题描述】:

我正在使用 GCP 托管一个小型 Flask 应用程序,并且需要接收电子邮件并进行处理。在阅读了here 的说明后,我复制了示例代码进行测试。

部署时出现以下错误:

INVALID_ARGUMENT:必须设置处理程序“/_ah/mail/.+”的脚本字段 为运行时 python37 设置为“自动”。

runtime: python37
inbound_services:
- mail
handlers:
- url: /.*
  secure: always
  redirect_http_response_code: 301
  script: auto
- url: /_ah/mail/.+
  script: handle_incoming_email.py
  login: admin

如果我按照说明进行操作,我会感到困惑,因为:

  1. GCP 如何知道如何处理请求。我认为它不知道,这就是原因。
  2. 当我将脚本更改为自动时,我也收到以下错误

INVALID_ARGUMENT:不允许登录处理程序“/_ah/mail/.+” 运行时 python37。

GCP 是否不支持使用 Python 3.7 接收电子邮件,或者是否可以在我的 Flask 应用程序中使用 3.7 并在我的邮件中使用 2.7?

【问题讨论】:

    标签: python python-3.x google-app-engine


    【解决方案1】:

    谷歌云支持在这里!

    GCP 不支持使用在 python 3.7 中运行的 Google App Engine 应用程序处理电子邮件,如您所见 here,只有 python 2 的文档,这是唯一可用的文档。

    您在 app.yaml 中遇到的错误是由于这个原因,更具体地说,script field for the hanlder 不接受除auto 之外的任何其他值。引用文档:

    脚本:

    可选。指定对特定处理程序的请求应针对您的应用程序。脚本元素唯一可接受的值是 auto

    当您将脚本值更改为 auto 时,您的处理程序会收到 INVALID_ARGUMENT 错误,因为邮件 API 与您的 python 版本不兼容。

    因此,为了使用邮件 API,您可以使用documentation 中指定的第三方服务。推荐三种服务:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-13
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 2017-10-27
      • 2010-11-01
      相关资源
      最近更新 更多