Оглавление:

Как отправлять электронные письма с вложениями с помощью Arduino, Esp32 и Esp8266: 6 шагов
Как отправлять электронные письма с вложениями с помощью Arduino, Esp32 и Esp8266: 6 шагов

Видео: Как отправлять электронные письма с вложениями с помощью Arduino, Esp32 и Esp8266: 6 шагов

Видео: Как отправлять электронные письма с вложениями с помощью Arduino, Esp32 и Esp8266: 6 шагов
Видео: ESP32 ARDUINO отправка электронных писем 2024, Ноябрь
Anonim
Как отправлять электронные письма с вложениями с помощью Arduino, Esp32 и Esp8266
Как отправлять электронные письма с вложениями с помощью Arduino, Esp32 и Esp8266

Здесь я хотел бы объяснить версию 2 моей библиотеки EMailSender, большую эволюцию по сравнению с версией 1, с поддержкой Arduino с w5100, w5200 и w5500 ethernet Shield и устройствами клонирования enc28J60, а также поддержкой esp32 и esp8266.

Теперь вы также можете добавлять вложения, загруженные с устройства хранения, такого как SD или SPIFFS. Здесь использование Ethernet Arduino.

Запасы

  • Ардуино Мега
  • enc28J60
  • SD Card

Шаг 1. Выберите правильное устройство серии ENC28J60 или W5100

Выберите правильное устройство серии ENC28J60 или W5100
Выберите правильное устройство серии ENC28J60 или W5100

Arduino, как правило, управляет сетью с помощью внешнего устройства, стандартное устройство, такое как w5100, использует библиотеку Ethernet, у клонов ENC28J60 есть несколько библиотек на выбор.

Чтобы выбрать свое устройство, вы должны перейти в файл библиотеки EMailSenderKey.h и установить правильный

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // По умолчанию

Библиотека, загруженная для управления этим типом устройств, - это UIPEthernet, вы можете найти библиотеку в диспетчере библиотек в Arduino IDE.

или вы можете изменить тип сети по умолчанию

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100

Это стандартная реализация и использование библиотеки Ethernet.

Важно учитывать, что этот экран Ethernet не поддерживает SSL или TLS, поэтому вы должны найти поставщика SMTP, который предлагает SMTP-соединение без этого типа шифрования.

Я создаю тему на форуме, где вы можете добавить провайдера, которого используете, вы также можете найти моего.

Шаг 2. Отправьте простое электронное письмо

Отправить простое электронное письмо
Отправить простое электронное письмо

Чтобы отправить электронное письмо с помощью Arduino, вы должны найти поставщика, который работает без SSL или TLS. В моем решении я использую поставщика SendGrid.

Я думаю, что использование очень простое.

Итак, вы должны установить поставщика

EMailSender emailSend ("ВАШ-SENDGRID-API-KEY", "ВАШ-SENDGRID-PASSWD", "FROM-EMAIL", "smtp.sendgrid.net", 25);

Затем вы должны создать сообщение и отправить его

EMailSender:: сообщение EMailMessage; message.subject = "Soggetto"; message.message = "Ciao come staiio bene.

EMailSender:: Response resp = emailSend.send ("[email protected]", сообщение);

Serial.println ("Статус отправки:");

Serial.println (соответственно статус);

Serial.println (соотв. Код); Serial.println (соотв. Desc);

Шаг 3. Подключите тележку SD для управления вложениями

Подключите тележку SD для управления вложениями
Подключите тележку SD для управления вложениями

Вместо того, чтобы отправлять вложения, вы должны подключить SD-карту, как на схеме, если вам нужна дополнительная информация о подключении, обратитесь к этой статье «Как использовать SD-карту с esp8266, esp32 и Arduino».

Шаг 4. Отправьте электронное письмо с вложениями

Чтобы отправить электронное письмо с вложениями, вы должны найти поставщика, который поддерживает эту функцию, мой поставщик sendgrid не поддерживает это, а поставщик GMX, которого я использовал для теста, больше не поддерживает.

Но если вы найдете нового поставщика, вы можете использовать этот код для прикрепления файлов.

EMailSender:: FileDescriptior fileDescriptor [1]; fileDescriptor [0].filename = F ("test.txt"); fileDescriptor [0].url = F ("/ test.txt"); fileDescriptor [0].mime = MIME_TEXT_PLAIN; fileDescriptor [0].encode64 = false; fileDescriptor [0].storageType = EMailSender:: EMAIL_STORAGE_TYPE_SD;

EMailSender:: Attachments attachs = {1, fileDescriptor};

EMailSender:: Response resp = emailSend.send ("[email protected]", сообщение, вложения);

Шаг 5: результат

Результат
Результат

Здесь электронное письмо, отправленное с помощью esp8266 и провайдера GMail (для использования GMail необходимо использовать внешнюю программу).

Шаг 6: Библиотека

Вы можете найти библиотеку на GitHub

И вы должны спрашивать функции или сообщать об ошибках на форуме

Дополнительная документация здесь.

Рекомендуемые: