Новый сервис App Engine для входящей электронной почты ⇐ Python
-
Anonymous
Новый сервис App Engine для входящей электронной почты
Я хочу получать входящие электронные письма через App Engine. Я получаю весь контент и помещаю его в хранилище. Отсюда я узнал, что могу использовать приведенный ниже код для получения электронных писем
main.py:
из фляги импорта Flask, запрос из google.appengine.api импортировать почту из google.appengine.api импортируйте Wrap_wsgi_app запросы на импорт приложение = Колба(__name__) app.wsgi_app = Wrap_wsgi_app(app.wsgi_app) @app.route("/_ah/mail/", методы=["POST"]) защита получения_почты (путь): пытаться: сообщение = mail.InboundEmailMessage(request.get_data()) для content_type полезные данные в message.body(): если тип_контента == 'текст/html': html_content = payload.decode() print('Содержимое HTML успешно получено.') .................................. app.yaml:
сервис: my_email_service время выполнения: python39 app_engine_apis: правда входящие_услуги: - почта обработчики: - URL: /_ah/mail/get_emails сценарий: main.app Но это работает, только если сервис только по умолчанию (без строки service: my_email_service). Когда я пытаюсь сделать другую службу не по умолчанию, просто добавляю в app.yaml имя службы (service: my_email_service) — это не работает. Я отправляю сообщение и ничего не получаю, ни журналов, ни сообщения. Есть ли способ решить эту проблему? В моем продукте уже есть служба по умолчанию, но мне нужно использовать другую службу для получения входящих сообщений.
Я пытался использовать ссылку send.yaml, но безрезультатно. Все работает только тогда, когда сервис стоит по умолчанию. Есть какие-нибудь мысли, пожалуйста? мой send.yaml:
отправка: - URL: "*/get_emails/*" сервис: my_email_service также пробовал использовать URL-адрес в отправке, например: get_emails@PROJECT-ID.appspotmail.com
Может быть, это совершенно другой код/решение
Я хочу получать входящие электронные письма через App Engine. Я получаю весь контент и помещаю его в хранилище. Отсюда я узнал, что могу использовать приведенный ниже код для получения электронных писем
main.py:
из фляги импорта Flask, запрос из google.appengine.api импортировать почту из google.appengine.api импортируйте Wrap_wsgi_app запросы на импорт приложение = Колба(__name__) app.wsgi_app = Wrap_wsgi_app(app.wsgi_app) @app.route("/_ah/mail/", методы=["POST"]) защита получения_почты (путь): пытаться: сообщение = mail.InboundEmailMessage(request.get_data()) для content_type полезные данные в message.body(): если тип_контента == 'текст/html': html_content = payload.decode() print('Содержимое HTML успешно получено.') .................................. app.yaml:
сервис: my_email_service время выполнения: python39 app_engine_apis: правда входящие_услуги: - почта обработчики: - URL: /_ah/mail/get_emails сценарий: main.app Но это работает, только если сервис только по умолчанию (без строки service: my_email_service). Когда я пытаюсь сделать другую службу не по умолчанию, просто добавляю в app.yaml имя службы (service: my_email_service) — это не работает. Я отправляю сообщение и ничего не получаю, ни журналов, ни сообщения. Есть ли способ решить эту проблему? В моем продукте уже есть служба по умолчанию, но мне нужно использовать другую службу для получения входящих сообщений.
Я пытался использовать ссылку send.yaml, но безрезультатно. Все работает только тогда, когда сервис стоит по умолчанию. Есть какие-нибудь мысли, пожалуйста? мой send.yaml:
отправка: - URL: "*/get_emails/*" сервис: my_email_service также пробовал использовать URL-адрес в отправке, например: get_emails@PROJECT-ID.appspotmail.com
Может быть, это совершенно другой код/решение
Мобильная версия