Добрый день, уважаемые хабрачитатели! О платформе 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.

Комментарии (0)