AppEngine StdEnv с Python3: как получить входящую почту - PullRequest
0 голосов
/ 13 февраля 2019

Текущая документация: https://cloud.google.com/appengine/docs/standard/python/mail/receiving-mail-with-mail-api

выглядит так, как будто это для python27, в противном случае в app.yaml должна быть запись:

- url: /_ah/mail/.+
  script: auto (instead of handle_incoming_email.app)
  login: admin

Я не могу найти какую-либо документацию о том, какполучать входящую почту на GAE StdEnv с Python3.Я пытался с:

app.yaml

runtime: python37
entrypoint: gunicorn -b :$PORT incoming_email.app
handlers:
- url: /_ah/mail/.+
  script: auto
  login: admin
inbound_services:
- mail

needs.txt

ez_setup
gunicorn
google-appengine

coming_email.py

from google.appengine.ext.webapp.mail_handlers import InboundMailHandler
import webapp2

class LogSenderHandler(InboundMailHandler):
  """."""
  def receive(self, mail_message):
    """Do things with mail_message"""

app = webapp2.WSGIApplication([
  ('/_ah/mail/', LogSenderHandler)
], debug=True)

Но при развертывании,google-appengine не может собрать:

Error ID: 4646FF8A. Error type: InternalError. Error message: `pip_download_wheels` had stderr output: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-wheel-80z20v2n/google-appengine/

error: `pip_download_wheels` returned code: 1.

google-appengine необходим для импорта InboundMailHandler, но похоже, что установка google-appengine pip для Python 2?Кто-нибудь может получать письма с Python3?

Спасибо!

1 Ответ

0 голосов
/ 13 февраля 2019

Среда выполнения Python 3 в стандартной среде App Engine значительно отличается от среды выполнения Python 2.

Как указано в официальной документации для различий между Python 2 и Python 3 в стандартной среде App Engine :

Служба почты недоступна вPython 3. Для отправки электронной почты вам нужно использовать стороннего почтового провайдера, такого как SendGrid, Mailgun или Mailjet.Все эти сервисы предлагают API для отправки электронной почты из приложений.

В среде выполнения App Engine Standard Python 3 вы можете найти 2 варианта, описанных в официальной документации:

Оба эти почтовых API могут получать и анализировать входящие электронные письма.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...