Node-RED: Отправка уведомлений по электронной почте

Это краткое руководство показывает, как легко отправлять электронные письма с помощью Node-RED. Это может быть полезной функцией для вашей системы домашней автоматизации во многих приложениях. Например, для отправки уведомлений на вашу электронную почту, если показания датчика выше или ниже определённого порога, для периодической отправки показаний на вашу электронную почту, для отправки уведомления при обнаружении движения и многого другого.

Как отправлять электронные письма с помощью Node-RED

Предварительные требования

Прежде чем продолжить, вам необходимо установить Node-RED. Вы можете установить Node-RED локально на свой компьютер, на Raspberry Pi или на облачный сервер. Ознакомьтесь со следующими руководствами:

Для быстрого начала работы с Node-RED ознакомьтесь со следующими руководствами:

Установка узлов Email

Существуют узлы Node-RED, которые можно установить и которые упрощают отправку электронных писем с помощью Node-RED.

Перейдите в Menu > Manage Palette > Install. Найдите node-red-node-email и установите эти узлы.

Node-RED установка узлов email

Для получения дополнительной информации об узлах вы можете перейти по следующей ссылке:

Теперь у вас должны появиться узлы email на вашей палитре Node-RED.

Узлы email в Node-RED

Email отправителя

Для отправки электронных писем с помощью Node-RED вам нужна учётная запись электронной почты отправителя. Мы не рекомендуем использовать вашу основную учётную запись электронной почты для отправки писем с помощью Node-RED. Если что-то пойдёт не так в вашем потоке или если по ошибке вы сделаете слишком много запросов, вас могут заблокировать или временно отключить вашу учётную запись. Поэтому мы рекомендуем создать новую учётную запись электронной почты для отправки писем или использовать вторичную учётную запись.

Мы будем использовать учётную запись Gmail.com для отправки писем, но вы можете использовать любого другого поставщика электронной почты. Электронная почта получателя может быть вашей личной почтой без каких-либо проблем.

Создание учётной записи электронной почты отправителя

Чтобы создать новую учётную запись Gmail для отправки электронных писем с помощью Node-RED, перейдите по этой ссылке.

Gmail создание новой учётной записи

Создание пароля приложения

Вам нужно создать пароль приложения, чтобы Node-RED мог отправлять электронные письма с помощью вашей учётной записи Gmail. Пароль приложения — это 16-значный код доступа, который даёт менее безопасному приложению или устройству разрешение на доступ к вашей учётной записи Google. Узнайте больше о входе с помощью паролей приложений здесь.

Пароль приложения можно использовать только с учётными записями, в которых включена двухэтапная аутентификация.

  1. Откройте свою учётную запись Google.

  2. На панели навигации выберите Security (Безопасность).

  3. В разделе «Signing in to Google» (Вход в Google) выберите 2-Step Verification (Двухэтапная аутентификация) > Get started (Начать).

  4. Следуйте инструкциям на экране.

После включения двухэтапной аутентификации вы можете создать пароль приложения.

  1. Откройте свою учётную запись Google.

  2. На панели навигации выберите Security (Безопасность).

  3. В разделе «Signing in to Google» (Вход в Google) выберите App Passwords (Пароли приложений).

Создание пароля приложения Gmail

В поле Select app выберите mail. Для устройства выберите Other и дайте ему имя, например, Node-RED. Затем нажмите Generate. Появится окно с паролем, который вы будете использовать в Node-RED для отправки электронных писем. Сохраните этот пароль (даже если написано, что вам не нужно его запоминать), потому что он понадобится вам позже.

Сгенерированный пароль приложения Gmail

Теперь у вас должен быть пароль приложения, который вы будете использовать в Node-RED для отправки электронных писем.

Пароль приложения Node-RED Gmail

Если вы используете другого поставщика электронной почты, проверьте, что нужно сделать для создания пароля приложения. Вы сможете найти инструкции с помощью быстрого поиска в Google «имя вашего поставщика электронной почты + app password».

Настройки SMTP-сервера Gmail

Если вы используете учётную запись Gmail, вот данные SMTP-сервера:

  • SMTP Server: smtp.gmail.com

  • SMTP username: Полный адрес Gmail

  • SMTP password: Ваш пароль Gmail

  • SMTP port (TLS): 587

  • SMTP port (SSL): 465

  • SMTP TLS/SSL required: yes

Настройки SMTP-сервера Outlook

Для учётных записей Outlook настройки SMTP-сервера следующие:

  • SMTP Server: smtp.office365.com

  • SMTP Username: Полный адрес электронной почты Outlook

  • SMTP Password: Ваш пароль Outlook

  • SMTP Port: 587

  • SMTP TLS/SSL Required: Yes

Настройки SMTP-сервера Live или Hotmail

Для учётных записей Live или Hotmail настройки SMTP-сервера следующие:

  • SMTP Server: smtp.live.com

  • SMTP Username: Полный адрес электронной почты Live/Hotmail

  • SMTP Password: Ваш пароль Windows Live Hotmail

  • SMTP Port: 587

  • SMTP TLS/SSL Required: Yes

Если вы используете другого поставщика электронной почты, вам нужно найти настройки его SMTP-сервера. Теперь у вас есть всё необходимое для начала отправки электронных писем с помощью Node-RED.

Отправка электронного письма с помощью Node-RED

Перетащите узел email в поток.

Узел email в Node-RED

Перетащите узел inject в поток и соедините его с email. Узел inject будет содержать содержимое электронного письма.

Поток email в Node-RED

Чтобы узнать, как мы должны настроить сообщение для узла email, мы можем посмотреть документацию узла email. Выберите узел email, а затем нажмите на значок help в правом верхнем углу.

Значок документации помощи Node-RED

Вы получите информацию о том, как использовать узел.

Документация узлов email Node-RED

Итак, мы должны задать содержимое сообщения в msg.payload, а тему электронного письма — в msg.topic. Получатель может быть задан в msg.to или в самом узле email (мы зададим его в узле email).

Дважды щёлкните на узле inject, чтобы отредактировать его свойства.

Добавьте содержимое электронного письма в msg.payload. Вам нужно установить его как String (строка). Затем добавьте тему электронного письма в msg.topic. Она также должна быть установлена как String (строка).

Узел inject для отправки email в Node-RED

Теперь дважды щёлкните на узле email, чтобы отредактировать его свойства. Введите электронную почту получателя, электронную почту отправителя и соответствующий пароль приложения, который вы сгенерировали ранее.

Свойства узла email для отправки в Node-RED

Когда закончите, нажмите Done.

Тестирование потока

Теперь разверните ваше приложение.

Кнопка Deploy в Node-RED

После развёртывания нажмите на левый квадратик на узле inject, чтобы запустить узел email.

Запуск потока отправки email в Node-RED

Если всё прошло как ожидалось, вы должны получить новое электронное письмо на учётную запись получателя.

Gmail получение письма от Node-RED

Вот и всё! Вы узнали простой способ отправки электронных писем с помощью Node-RED.

Заключение

Как видите, отправка электронных писем с помощью Node-RED очень проста. Мы показали вам простой пример с узлом inject. Идея состоит в том, чтобы применить эту функцию в реальных сценариях. Мы опубликуем больше руководств на эту тему, так что следите за обновлениями.

Если вы хотите узнать, как отправлять электронные письма с помощью плат ESP32 или ESP8266, вы можете ознакомиться со следующими руководствами:

Чтобы узнать больше о Node-RED и домашней автоматизации, ознакомьтесь с нашей специальной электронной книгой по ссылке ниже. Изучите Node-RED и InfluxDB на Raspberry Pi для создания системы домашней автоматизации с ESP32 и ESP8266.

Спасибо за чтение.