Отправка email сообщений через Google SMTP на платформе JAICP

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Добрый день, уважаемые хабрачитатели! О платформе JAICP было не так много статей на хабре. К сожалению, не всегда официальная документация может помочь в решении определенной проблемы. Я решил написать серию статей-руководств по работе с JAICP. В первой статье я расскажу о настройке Google SMTP сервера для отправки email сообщений из чат ботов на платформе JAICP. Кому интересно, прошу под кат.

JAICP - это платформа для разработки виртуальных ассистентов (голосовых и чат ботов) на языках программирования Javascript или Kotlin от компании  Just AI. Платформа предоставляет удобную встроенную среду разработки, встроенный NLU-сервис CAILA для ускорения обучения чат-ботов, а также детальную статистику и аналитику для создаваемых чат ботов. На сайте JAICP есть серия практических туториалов по созданию чат ботов.

В официальной документации JAICP по отправке email сообщений дается только краткая информация по конфигурации SMTP сервера. Здесь я расскажу о настройке Google SMTP сервера в случае двухфакторной аутентификации, поскольку она является немного сложнее.

Настройка аккаунта Google как SMTP сервера

Для начала нужно получить пароль для приложения. Перейдем по ссылке в Google аккаунт. В левом меню выберем Безопасность (Security), затем найдем секцию Signing in to Google и App Passwords. В поле Select app выберем Mail и в Select device выберем Other. Затем нажмем кнопку Generate.

Скопируем пароль. Он нам понадобится на следующем шаге.

Следующий шаг нужен в случае двухфакторной аутентификации. Нужно перейти по этой ссылке. Там должно появиться разрешение на предоставление доступа к аккаунту Google:

На все вопросы нажимаем подтверждение.

Если у вас нет двухфакторной аутентификации, то скорее всего этот шаг можно опустить.

Настройка SMTP сервера и отправка сообщения на платформе JAICP

Нам нужно добавить настройки SMTP сервера в приложении на JAICP. Добавим такие строки в chatbot.yaml:

injector:
  smtp:
    host: 'smtp.gmail.com' 
    port: 465
    from: '<your_email>@gmail.com'
    user: '<your_email>@gmail.com' 
    password: '<password>'

Здесь в поле your_email указываем имя пользователя в аккаунте Google, в поле password вставим наш скопированный пароль.

Самое время отправить какое-нибудь тестовое сообщение. Добавим такой тестовый стейт в main.sc:

state: TestEmail
        q: * testemail *
        script:
            var result = $mail.sendMessage("<target_email_address>", "Test", "Message from my bot");
            log("TestEmail");
            log(result["status"]);
        a: Сообщение отправлено.

В этом коде мы используем встроенный сервис $mail. Здесь подробно описаны параметры методов этого сервиса. В методе sendMessage первым параметром (target_email_address) передается email адрес адресата, вторым параметром - тема сообщения, а третьим - текст сообщения.

Теперь нужно добавить внешний канал для тестирования отправки, например, чатвиджет, поскольку в тестовом виджете вы будете натыкаться на ошибку о превышении лимита CPU.

На этом все. Удачи в разработке чат ботов на платформе JAICP.

Источник: https://habr.com/ru/post/654603/


Интересные статьи

Интересные статьи

Автор: Иннокентий Сенновский (rumata888) Хочу поделиться опытом регистрации уязвимостей в продуктах компаний без Bug Bounty. У меня этот процесс занял целых два года, в течение которых я...
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. Подключение к л...
Навязчивые мелодии (англ. earworms) – хорошо известное и порой раздражающее явление. Как только одна из таких застревает в голове, от нее бывает довольно трудно избавиться. Исследования...
Все мы наблюдаем такую тенденцию, что разработка различных интернет ресурсов постоянно упрощается, и становится все более доступной для пользователей. Например, если говорить ...
По мнению чиновников из Еврокомиссии, Google намеренно подавляла конкуренцию в сфере онлайн-рекламы. В частности, компания запрещала рекламировать услуги конкурентов через свой сервис AdSense...