Инструкция по отправке почты с ESP32 через SMTP

Инструкция по отправке почты с ESP32 через SMTP

Введение

В этом руководстве рассматривается реализация отправки электронных писем с ESP32 через Arduino IDE. Мы охватим весь процесс: от установки библиотек и настройки SMTP-сервера до отправки писем в форматах обычного текста, HTML. Этот навык незаменим при создании систем оповещения в проектах Интернета вещей.

Необходимые детали

№ Компонент Количество Купить
1 Отладочная плата ESP32 1 шт Авито | AliExpress | RobotChip

Описание

В качестве среды разработки для прошивки ESP32 будем использовать Arduino IDE, её необходимо скачать и установить. Также необходимо установить поддержку плат ESP32, как рассказывалось в прошлой статье.

Немного расскажу о протоколе SMTP (Simple Mail Transfer Protocol) — это стандарт связи, предназначенный для передачи электронной почты. Каждый почтовый провайдер (например, Яндекс, Mail.ru, Gmail и другие) использует собственные SMTP-серверы с уникальными адресами и портами, которые можно найти в настройках аккаунта. Когда вы нажимаете кнопку «Отправить», ваш почтовый клиент (MUA) по протоколу SMTP передаёт сообщение на исходящий сервер. Сервер определяет домен получателя через DNS-запись MX и перенаправляет письмо на соответствующий целевой сервер. Финальную доставку в почтовый ящик пользователя обеспечивает сервер входящей почты сервиса получателя по протоколам IMAP или POP3

Установка библиотеки

Для работы, будем использовать библиотеку «ReadyMail» скачать можно используя интегрированную среду разработки Arduino IDE», для этого откройте «Скетч → Подключение библиотеки → Менеджер библиотек…», так же выложу библиотеки в конце статьи или скачайте с GitHub.

Настройка аккаунта Яндекс

Для отправки писем с ESP32 потребуется электронная почта на «Яндексе» (или другом почтовом сервисе). Не буду описывать сам процесс создания учётной записи — расскажу только о том, как сгенерировать уникальный пароль для приложения.

Перейдите на страницу https://id.yandex.ru/ и выберите «Безопасность»

Нажмите «Пароли приложений»

Далее нажмите «Почта».

Придумайте любое название для приложения и нажмите «Далее».

Теперь скопируйте пароль, он отображается только один раз. Пароль понадобится позже, его нужно будет вставить в скетч.

Программа — Отправка электронного письма с помощью ESP32

Программа отправит электронное письмо с ESP32 через SMTP-сервер. Скопируйте приведенный ниже код в файл скетча. Вам потребуется указать данные Wi-Fi-сети, параметры SMTP-сервера, а также адреса электронной почты отправителя и получателя. Можно воспользоваться одной и той же почтой, но в будущем нужно изменить. В качестве примера используется SMTP-сервер «Яндекса».

Этот скетч для ESP32 будет отправлять письмо через SMTP-сервер при каждом включении платы.

Откройте мониторинг порта, где увидим показания с датчика.

Открываем вашу электронную почту, где можно увидеть полученное сообщение.

Описание кода

В начале скетча подключаем библиотеки для работы со скетчем. заголовочные файлы.

В функции setup() запускается последовательный порт на скорости 115200 бод, указываем учетные данные Wi-Fi: имя сети (SSID) и пароль. Подставьте в код свои данные для успешного подключения платы к беспроводной сети и ждем подключение.

Теперь определим параметры SMTP-сервера: укажите его адрес, порт, а также электронную почту отправителя и пароль от неё. Используйте данные учётной записи, которую вы создали ранее

Далее необходимо указать электронную почту отправителя и получается.

Эти строки задают сообщение «Hello!», с темой «This is a plain text message»

Полезные ссылки

№ Описание Скачать
1 Библиотека ReadyMail ReadyMail v.0.4.0.zip

О нас Сергей

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *