Как получать и анализировать электронную почту с помощью облачных функций? - PullRequest
0 голосов
/ 06 февраля 2019

Google Cloud Functions позволяет легко активировать функцию при срабатывании триггера (например, изменение данных Firebase, HTTP-запрос ...).

Я ищу способ выполнения функции при отправке пользователем (или обычно отвечает) на адрес электронной почты.Например, моя панель инструментов отправляет электронное письмо, я хотел бы получить ответ, проанализировать содержимое и загрузить его в Firebase в качестве комментария на своей панели инструментов.

Я понимаю, что Google рекомендует использовать Sendgrid.Я, однако, не понимаю: - Как настроить триггер при ответе - Как прочитать содержимое и установить чтение

Я только нашел, как отправить электронную почту здесь

Ответы [ 2 ]

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

Один из вариантов, если вы используете GSuite, - это использование механизма наблюдения Gmail для прослушивания новых писем в вашем почтовом ящике.Затем сообщение можно опубликовать в теме PubSub, которая может запускать облачную функцию для анализа электронной почты и выполнения необходимых действий.

Вот хороший пример использования, объясняющий этот механизм
https://cloud.google.com/blog/products/application-development/adding-custom-intelligence-to-gmail-with-serverless-on-gcp

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

Google Cloud Functions не предоставляет постоянного слушателя на конечной точке.Также нет источника событий для SMTP, то есть протоколов, связанных с доставкой электронной почты.Таким образом, вы не можете просто отвечать на электронные письма, когда они поступают с облачными функциями в данный момент.

Что вы можете сделать, это перенаправить трафик на существующий SMTP-сервер, а затем использовать облачные функции для чтения оттуда с интервалом .

Альтернативой является использование API входящей электронной почты Sendgrid , который может вызывать веб-крюк для каждого полученного сообщения.И тогда ваш webhook станет облачной функцией, запускаемой по HTTP.

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