Используйте node.js и API Cloudmailin для отправки электронных писем из чата.

2020-10-02

Существует множество поставщиков облачных API электронной почты, таких как Twilio SendGrid, Cloudmailin.com, mailjet.com и т. д. Эти поставщики API электронной почты позволяют разработчикам быстро разрабатывать приложения для отправки электронной почты. Например, код подтверждения, купон, рекламная акция, подтверждение регистрации и т. д. Эти сервисы позволяют быстро формировать автоматические электронные письма для приложений, включая веб-приложение.

Плагин чат-бота и живого чата Easiio — это мощный чат-бот и платформа для живого чата. Используя ITR для программирования, бизнес может использовать визуальный редактор для создания чат-бота за считанные минуты. Мощная функция, включающая формы и рекламные акции. Формы позволяют использовать настраиваемую форму для сбора информации о посетителях, отзывов или другой информации. Продвижение позволяет веб-сайту отображать рекламную акцию и запрашивать информацию пользователя, например электронную почту, для отправки информации о рекламной акции посетителям. И, следовательно, способствовать конверсии посетителей сайта.

чат и электронная почта

В этой статье мы покажем, как использовать плагин чата веб-сайта Easiio для сбора информации о пользователях от посетителей веб-сайта, а затем использовать API Cloudmailin.com для отправки электронного письма с подтверждением. Приложение включает отправку промо-кода, купона, ссылки для скачивания электронной книги и другие полезные задачи. Это техническая статья, исходный код которой доступен на GitHub. часть node.js.

Шаг 1. Зарегистрируйте учетную запись Easiio.

Зарегистрироваться для учетной записи Easiio очень просто. Просто перейдите по этой ссылке https://www.easiio.com/pricing. Нажмите «Зарегистрировать бесплатную учетную запись», чтобы начать. После регистрации на веб-сайте Easiio вы должны получить информацию об учетной записи по электронной почте.

Шаг 2. Настройте плагин чат-бота на сайте

После входа в бэкэнд Easiio вы можете начать настройку ITR (интерактивный текстовый ответ) для тестового чат-бота. Видеть Руководство по плагину Easiio Web Chat.

Сначала создайте новый ITR. Используйте «Расширенную настройку» для «Визуального IVR», затем нажмите «Создать». Заполните информацию, как показано ниже.

Визуальное создание ITR

Во-вторых, настройте ITR с помощью текста воспроизведения и контактной формы. Откройте редактор визуального IVR для ITR, нажав ссылку «Конфигурация» на странице Visual IVR. Нажмите кнопку «+» в строке «Воспроизведение», чтобы добавить элемент «Воспроизведение» для отображаемого текста.

Редактировать визуальный ITR для сбора информации о пользователе.

Затем нажмите «+» на элемент формы и выберите «Форма контакта». URL-адрес данных — это почтовый API для интерфейса JavaScript Node.js. Электронная почта и номер телефона предназначены для отправки уведомлений по электронной почте или по SMS, если кто-то подпишет форму.

Конфигурация формы со ссылкой на URL-адрес API node.js в поле «URL-адрес данных».

Шаг 3. Настройте CloudMailIn

Зарегистрируйте пробный аккаунт на https://www.cloudmailin.com. Пожалуйста, следуйте инструкциям на https://docs.cloudmailin.com/ о том, как настроить учетную запись отправки почты. Вам потребуется настроить DNS для вашего почтового сервера. После настройки и настройки вы получите имя хоста, идентификатор пользователя и пароль для учетной записи отправки электронной почты. Подтверждение вашего официального адреса электронной почты необходимо для активации учетной записи отправки электронной почты в Cloudmailin. Это было не так уж плохо с точки зрения времени установки. Примерно через 1-2 часа я все запустил.

Шаг 4. Настройте http API node.js

Для node.js JavaScript просто анализирует входящий JSON с сервера Easiio, а затем использует API Cloudmailin nodejs для отправки электронного письма. Не забудьте установить зависимость API Cloudmailin с помощью команды «npm install nodemailer». Исходный код находится на GitHub в файле cloudmailin_sendemail.js. Запустите скрипт node.js командой «node cloudmailin_sendemail.js». Вы должны увидеть что-то вроде этого.

узел JS, работающий для Cloudmailin

Шаг 5. Напишите JavaScript для отправки электронной почты через CloudMailIn.

Следующий код — это функция для отправки электронной почты с помощью Cloudmailin. Убедитесь, что у вас установлен модуль. Вы можете изменить содержимое письма по своему усмотрению. Не забудьте изменить имя хоста, имя пользователя и пароль в настройках вашей учетной записи.

async function sendMail(email, name) {
  let hostname = "xxxx.cloudmta.net, cloudmailin account hostname";
  let username = "12b2000000000, your cloudmailin account username";
  let password = "uifa0000000, your cloudmailin account password";

  let transporter = nodemailer.createTransport({
    host: hostname,
    port: 587,
    secure: false,
    requireTLS: true,
    auth: {
      user: username,
      pass: password,
    },
    logger: true
  });
  // send mail with defined transport object
  let info = await transporter.sendMail({
    from: '"Sender Name" <jian.lin@easiio.com>',
            to: email,
            subject: "Your request is here",
            
            html: "Hi, " + name + ",<br>" + "This is easiio promotion link<br>" + "<strong>Coupon code:7jhsk8</strong>",
            headers: { 'x-cloudmta-class': 'standard' }
  });

  console.log("Message sent: %s", info.response);
}

Следующий код представляет собой обработку Easiio публикации HTTP API информации контактной формы в формате JSON. Он анализирует JSON и распечатывает адрес электронной почты. Используйте адрес электронной почты и имя, чтобы вызвать функцию sendMail.

const server = http.createServer(function (request, response) {

   if(request.method === "GET") {
    if (request.url === "/favicon.ico") {
      response.writeHead(404, {'Content-Type': 'text/html'});
      response.write('<!doctype html><html><head><title>404</title></head><body>404: Resource Not Found</body></html>');
      response.end();
    } else {
      response.writeHead(200, {'Content-Type': 'text/html'});
      response.end(formOutput);
    }
  } else if(request.method === "POST") {
    if (request.url === "/send_email_cloudmailin") {
      var requestBody = '';
      console.log("post inbound 1.0");
      request.on('data', function(data) {
        requestBody += data;
        if(requestBody.length > 1e7) {
          response.writeHead(413, 'Request Entity Too Large', {'Content-Type': 'text/html'});
          response.end('<!doctype html><html><head><title>413</title></head><body>413: Request Entity Too Large</body></html>');
        }
      });
      request.on('end', function() {
        console.log("post end", requestBody);
        var formData = JSON.parse( requestBody );
        var number = Math.floor(Math.random() * 899999 + 100000);
        console.log("send sms twilio post end 1.0", formData.name , " ", formData.email, " ", formData.message);
      
        sendMail (formData.email, formData.name);
          response.write('[ { "id": 1, "action": "play", "text": "The notification email send via cloudmailin: ' + number + '" }]');
          response.end('');

        
      });
    } 
    
  } else {
    response.writeHead(405, 'Method Not Supported', {'Content-Type': 'text/html'});
    return response.end('<!doctype html><html><head><title>405</title></head><body>405: Method Not Supported</body></html>');
  }

});

Полный исходный код можно найти по ссылке на GitHub. источник.

Шаг 6. Проверьте форму веб-чата Easiio.

После настройки Easiio ITR откройте пользовательский интерфейс тестирования плагина, перейдя в «Администратор» и затем «Конфигурация веб-вызовов и чата», чтобы открыть страницу конфигурации. Нажмите кнопку «Создать», чтобы создать новую конфигурацию. Выберите имя вновь созданного файла ITR и сохраните конфигурацию.

Настройте звонок и веб-чат с помощью сценария ITR

Нажмите на ссылку «Просмотр» в столбце «Эффект», чтобы просмотреть страницу предварительного просмотра веб-чата.

Просмотр эффекта ITR в режиме тестирования

Ниже представлена ​​страница предварительного просмотра. Разработчик может использовать эту страницу для проверки ITR перед добавлением на свой веб-сайт.

Тестирование пользовательского интерфейса и заполните контактную форму.

Заполните форму, указав имя, адрес электронной почты и телефон, а затем нажмите кнопку «Отправить», чтобы отправить запрос скрипту Node.js.

Вы должны получить электронное письмо, подобное этому. Это означает, что форма плагина веб-чата Easiio успешно отправлена ​​в API Cloudmailin.

Электронная почта от Cloudmailin

Вывод:

Из этого блога вы можете увидеть, что очень легко использовать плагин веб-чата Easiio и Cloudmailin для отправки электронного письма с подтверждением или других типов электронных писем по мере необходимости. Это очень гибкое сочетание. Cloudmailin обеспечивает гибкость содержимого электронной почты, что должно быть плюсом для разработчика, которому необходимо очень динамичное сообщение электронной почты, основанное на вводе пользователя. Чат-бот и онлайн-чат на веб-сайте Easiio бесплатны для небольшой группы поддержки. Зарегистрироваться здесь.

Другие похожие блоги или ресурсы:

Руководство по плагину Easiio Web Chat

Облачная телефонная система для бизнеса Easiio