Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
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
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
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
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
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.