Интеграция messengers API с Google mail
Этот шаблон звена служит для отправки уведомлений на Mail при совершении определенных событиях в messengers. Как и в случае с Google drive - в Google mail используется кастомная функция которая будет заменять smtp сервер. Используется именно такое решение для скорейшей настройки уведомлений и безопасности Вашей почты при подобной быстрой настройке.
Настройка
В первоначальной настройке Вам необходимо указать адрес функции, которая будет развернута на сервере Google cloud. Об этом ниже. Нам понадобиться уже созданный ящик в Google mail и проект в Google cloud. Для начала создайте новый проект в Google cloud или выберите уже имеющийся проект.
В проекте должен быть подключен биллинг для дальнейшего корректного подключения. Об этом Вам также напомнит сам Google при попытке подключить API.
Далее необходимо перейти в раздел библиотеки проекта, найти и подключить “Cloud Build API” - оно Вам понадобится для развертывания функции.
Вам необходимо создать новую Google функцию, которая будет пересохранять файл в гугл диск. Для этого необходимо перейти по адресу, выбрать наверху интересующий проект и создать новую функцию.
В настройках функции мы указываем удобный для нас регион, задаем название функции (предпочтительно случайное название от 16 до 32 символов), можно сразу скопировать полный адрес ссылки в виджет в Chat API. Ниже в настройках функции указываем? что аутентификация разрешена и для неавторизованных юзеров. Нажимаем “сохранить”. Ниже выставляем 256 мегабайт. нажимаем “продолжить”.
Копируем index.js и package.json из проекта https://github.com/chatapi/chainapi-google-mail в открывшееся окно соответственно.
Далее необходимо поменять параметр “from” в index.js на адрес Вашего Google e-mail, с которого будет вестись рассылка.
В параметре “pass” в index.js необходимо указать пароль к Вашему ящику (не волнуйтесь, этот файл доступен только для вас, Ваш пароль никто не узнает), или, если у вас включена двухэтапная авторизация, вам необходимо совершить действия описанные тут после чего в поле пароля указать созданный пароль для приложения.
Если Вы не хотите, чтобы файлы автоматически были доступны для всех пользователей, в константе shareFile внутри index.js необходимо поставить false.
Также, для доступа функции к смтп серверу Google необходимо предоставить доступ для non-secure приложений к Вашему мейлу, для этого необходимо перейти по адресу https://myaccount.google.com/lesssecureapps с предполагаемого адреса рассылки и разрешить приложениям доступ.
В верхнем правом углу настроек функции Вам необходимо указать в точке входа (entrypoint) Вашу функцию sendMail.
Нажимаем кнопку деплой и ждем завершения процесса.
После этого Вы можете продолжать первоначальную настройку в цепочках API. Если Вы забыли вписать адрес функции - дождитесь завершения ее деплоя, зайдите в редактирование и скопируйте адрес. После чего Вам необходимо будет в динамических данных указать, на какой адрес Вы будете отправлять данные, с каким текстом и с каким заголовком. Для успешного запроса должен присутствовать либо параметр Html, либо параметр text.
Хорошей идеей для технических уведомлений - будет перекинуть тему письма и получателя (to) в статические данные и указать тему и адрес письма вручную, а тело письма сделать динамическим (скажем в text указать путь до тела сообщения).
Ответ
В ответе вы можете обнаружить данные следующего вида
Так как используется пакет nodeMailer, то частичное описание вариантов ответа можно найти по адресу https://nodemailer.com/smtp/