Obsah:

Ako odosielať e -maily s prílohami pomocou Arduino, Esp32 a Esp8266: 6 krokov
Ako odosielať e -maily s prílohami pomocou Arduino, Esp32 a Esp8266: 6 krokov
Anonim
Ako odosielať e -maily s prílohami pomocou Arduino, Esp32 a Esp8266
Ako odosielať e -maily s prílohami pomocou Arduino, Esp32 a Esp8266

Tu by som chcel vysvetliť verziu 2 mojej knižnice EMailSender, veľký vývoj v porovnaní s verziou 1, s podporou Arduino s ethernetovým štítom w5100, w5200 a w5500 a zariadeniami na klonovanie enc28J60 a podporou esp32 a esp8266.

Teraz môžete pridať aj prílohy načítané z úložného zariadenia, ako je SD alebo SPIFFS. Tu je použitie ethernetu Arduino.

Zásoby

  • Arduino Mega
  • enc28J60
  • SD karta

Krok 1: Vyberte správne zariadenie radu ENC28J60 alebo W5100

Vyberte správne zariadenie radu ENC28J60 alebo W5100
Vyberte správne zariadenie radu ENC28J60 alebo W5100

Arduino obvykle spravuje sieť pomocou externého zariadenia, štandardné zariadenie, ako napríklad w5100, používa ethernetovú knižnicu, klony ENC28J60 však majú na výber niektoré knižnice.

Ak chcete vybrať svoje zariadenie, musíte ísť do súboru knižnice EMailSenderKey.h a nastaviť správny

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // predvolené

Knižnica načítaná na správu tohto typu zariadenia je UIPEthernet, knižnicu nájdete v správcovi knižníc Arduino IDE

alebo môžete zmeniť predvolený typ siete

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100

Toto je štandardná knižnica na implementáciu a používanie ethernetu.

Dôležitou myšlienkou na zváženie je, že tento ethernetový štít nepodporuje SSL ani TLS, takže musíte nájsť poskytovateľa SMTP, ktorý ponúka pripojenie SMTP bez tohto typu zápisu.

Na fóre vytvorím tému, do ktorej môžete pridať poskytovateľa, ktorého používate, a nájsť aj môjho.

Krok 2: Odošlite jednoduchý e -mail

Odoslať jednoduchý e -mail
Odoslať jednoduchý e -mail

Na odoslanie e -mailu pomocou Arduina musíte nájsť poskytovateľa, ktorý pracuje bez SSL alebo TLS. Pre moje riešenie používam poskytovateľa SendGrid.

Myslím, že použitie je veľmi jednoduché.

Musíte teda nastaviť poskytovateľa

EMailSender emailSend („YOUR-SENDGRID-API-KEY“, „YOUR-SENDGRID-PASSWD“, „FROM-EMAIL“, „smtp.sendgrid.net“, 25);

Potom musíte vytvoriť správu a odoslať ju

Správa EMailSender:: EMailMessage; message.subject = "Soggetto"; message.message = "Ciao come staiio bene."

EMailSender:: Odpoveď resp = emailSend.send ("[email protected]", správa);

Serial.println ("Stav odosielania:");

Serial.println (resp. Stav);

Serial.println (resp. Kód); Serial.println (resp.desc);

Krok 3: Pripojte košík SD na správu príloh

Pripojte košík SD na správu príloh
Pripojte košík SD na správu príloh

Než budete odosielať prílohy, musíte pripojiť kartu SD ako na schéme. Ak potrebujete ďalšie informácie o pripojení, pozrite si tento článok „Ako používať kartu SD s esp8266, esp32 a Arduino“.

Krok 4: Odoslanie e -mailu s prílohami

Na odosielanie e -mailov s prílohami musíte nájsť poskytovateľa, ktorý túto funkciu podporuje, môj poskytovateľ sendgrid to nepodporuje a GMX poskytovateľa, ktorého som použil na test, už nepodporuje.

Ak však nájdete nového poskytovateľa, môžete na pripojenie súborov použiť tento kód.

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:: Odpoveď resp = emailSend.send ("[email protected]", správa, prílohy);

Krok 5: Výsledok

Výsledok
Výsledok

Tu je e -mail odoslaný s poskytovateľom esp8266 a GMail (na používanie GMailu musíte pridať externý program).

Krok 6: Knižnica

Knižnicu nájdete na GitHub

A musíte sa pýtať funkcií alebo hlásiť chyby vo fóre

Ďalšia dokumentácia tu.

Odporúča: