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 и установите эти узлы.
Для получения дополнительной информации об узлах вы можете перейти по следующей ссылке:
Теперь у вас должны появиться узлы email на вашей палитре Node-RED.
Email отправителя
Для отправки электронных писем с помощью Node-RED вам нужна учётная запись электронной почты отправителя. Мы не рекомендуем использовать вашу основную учётную запись электронной почты для отправки писем с помощью Node-RED. Если что-то пойдёт не так в вашем потоке или если по ошибке вы сделаете слишком много запросов, вас могут заблокировать или временно отключить вашу учётную запись. Поэтому мы рекомендуем создать новую учётную запись электронной почты для отправки писем или использовать вторичную учётную запись.
Мы будем использовать учётную запись Gmail.com для отправки писем, но вы можете использовать любого другого поставщика электронной почты. Электронная почта получателя может быть вашей личной почтой без каких-либо проблем.
Создание учётной записи электронной почты отправителя
Чтобы создать новую учётную запись Gmail для отправки электронных писем с помощью Node-RED, перейдите по этой ссылке.
Создание пароля приложения
Вам нужно создать пароль приложения, чтобы Node-RED мог отправлять электронные письма с помощью вашей учётной записи Gmail. Пароль приложения — это 16-значный код доступа, который даёт менее безопасному приложению или устройству разрешение на доступ к вашей учётной записи Google. Узнайте больше о входе с помощью паролей приложений здесь.
Пароль приложения можно использовать только с учётными записями, в которых включена двухэтапная аутентификация.
Откройте свою учётную запись Google.
На панели навигации выберите Security (Безопасность).
В разделе «Signing in to Google» (Вход в Google) выберите 2-Step Verification (Двухэтапная аутентификация) > Get started (Начать).
Следуйте инструкциям на экране.
После включения двухэтапной аутентификации вы можете создать пароль приложения.
Откройте свою учётную запись Google.
На панели навигации выберите Security (Безопасность).
В разделе «Signing in to Google» (Вход в Google) выберите App Passwords (Пароли приложений).
В поле Select app выберите mail. Для устройства выберите Other и дайте ему имя, например, Node-RED. Затем нажмите Generate. Появится окно с паролем, который вы будете использовать в Node-RED для отправки электронных писем. Сохраните этот пароль (даже если написано, что вам не нужно его запоминать), потому что он понадобится вам позже.
Теперь у вас должен быть пароль приложения, который вы будете использовать в Node-RED для отправки электронных писем.
Если вы используете другого поставщика электронной почты, проверьте, что нужно сделать для создания пароля приложения. Вы сможете найти инструкции с помощью быстрого поиска в 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 в поток.
Перетащите узел inject в поток и соедините его с email. Узел inject будет содержать содержимое электронного письма.
Чтобы узнать, как мы должны настроить сообщение для узла email, мы можем посмотреть документацию узла email. Выберите узел email, а затем нажмите на значок help в правом верхнем углу.
Вы получите информацию о том, как использовать узел.
Итак, мы должны задать содержимое сообщения в msg.payload, а тему электронного письма — в msg.topic. Получатель может быть задан в msg.to или в самом узле email (мы зададим его в узле email).
Дважды щёлкните на узле inject, чтобы отредактировать его свойства.
Добавьте содержимое электронного письма в msg.payload. Вам нужно установить его как String (строка). Затем добавьте тему электронного письма в msg.topic. Она также должна быть установлена как String (строка).
Теперь дважды щёлкните на узле email, чтобы отредактировать его свойства. Введите электронную почту получателя, электронную почту отправителя и соответствующий пароль приложения, который вы сгенерировали ранее.
Когда закончите, нажмите Done.
Тестирование потока
Теперь разверните ваше приложение.
После развёртывания нажмите на левый квадратик на узле inject, чтобы запустить узел email.
Если всё прошло как ожидалось, вы должны получить новое электронное письмо на учётную запись получателя.
Вот и всё! Вы узнали простой способ отправки электронных писем с помощью Node-RED.
Заключение
Как видите, отправка электронных писем с помощью Node-RED очень проста. Мы показали вам простой пример с узлом inject. Идея состоит в том, чтобы применить эту функцию в реальных сценариях. Мы опубликуем больше руководств на эту тему, так что следите за обновлениями.
Если вы хотите узнать, как отправлять электронные письма с помощью плат ESP32 или ESP8266, вы можете ознакомиться со следующими руководствами:
Чтобы узнать больше о Node-RED и домашней автоматизации, ознакомьтесь с нашей специальной электронной книгой по ссылке ниже. Изучите Node-RED и InfluxDB на Raspberry Pi для создания системы домашней автоматизации с ESP32 и ESP8266.
Спасибо за чтение.