Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Tu bi rad razložil različico 2 svoje knjižnice EMailSender, veliko evolucijo glede na različico 1, s podporo za Arduino z ethernetnim ščitom w5100, w5200 in w5500 in klonskimi napravami enc28J60 ter podporo za esp32 in esp8266.
Zdaj lahko dodate tudi priloge, naložene iz pomnilniške naprave, kot sta SD ali SPIFFS. Tukaj je uporaba Etherneta Arduino.
Zaloge
- Arduino Mega
- enc28J60
- sD kartice
Korak: Izberite Pravilna naprava serije ENC28J60 ali W5100
Arduino običajno upravlja omrežje z zunanjo napravo, standardna naprava, kot je w5100, uporablja Ethernet knjižnico, kloni ENC28J60 imajo na voljo nekaj knjižnic.
Če želite izbrati svojo napravo, pojdite v knjižnico EMailSenderKey.h in nastavite pravilno
#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // Privzeto
Knjižnica, naložena za upravljanje te vrste naprav, je UIPEthernet, knjižnico najdete v upravitelju knjižnice Arduino IDE
ali pa spremenite privzeto vrsto omrežja
#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100
To je standardna knjižnica za izvajanje in uporabo Ethernet.
Pomembno je razmisliti, da ta ethernetni ščit ne podpira SSL ali TLS, zato morate poiskati ponudnika SMTP, ki ponuja povezavo SMTP brez te vrste zapisa.
Na forumu ustvarim temo, kjer lahko dodate ponudnika, ki ga uporabljate, da najdete tudi mojega.
Korak: Pošljite preprosto e -poštno sporočilo
Če želite poslati e -poštno sporočilo z Arduinom, morate najti ponudnika, ki deluje brez SSL ali TLS. Za svojo rešitev uporabljam ponudnika SendGrid.
Mislim, da je uporaba zelo preprosta.
Zato morate nastaviti ponudnika
EMailSender emailSend ("YOUR-SENDGRID-API-KEY", "YOUR-SENDGRID-PASSWD", "FROM-EMAIL", "smtp.sendgrid.net", 25);
Nato morate ustvariti sporočilo in ga poslati
EMailSender:: Sporočilo EMailMessage; message.subject = "Soggetto"; message.message = "Ciao come staiio bene.
EMailSender:: Odgovor resp = emailSend.send ("[email protected]", sporočilo);
Serial.println ("Status pošiljanja:");
Serial.println (resp.status);
Serial.println (oz. Koda); Serial.println (oz. Desc);
3. korak: Košarico SD povežite z upravljanjem prilog
Za pošiljanje prilog morate povezati kartico SD, kot je prikazano v shemi, če potrebujete več informacij o povezavi, glejte ta članek "Kako uporabljati kartico SD z esp8266, esp32 in Arduino".
4. korak: Pošljite e -pošto s prilogami
Za pošiljanje e -pošte s prilogami morate poiskati ponudnika, ki podpira to funkcijo, moj ponudnik sendgrid ne podpira tega, GMX pa ponudnika, ki sem ga uporabil za test, ni več podpore.
Če pa najdete novega ponudnika, lahko s to kodo priložite datoteke.
EMailSender:: FileDescriptior fileDescriptor [1]; fileDescriptor [0].ime datoteke = 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:: Priloge priloge = {1, fileDescriptor};
EMailSender:: Odziv resp = emailSend.send ("[email protected]", sporočilo, priloge);
5. korak: Rezultat
Tukaj je e -poštno sporočilo poslano ponudniku esp8266 in GMail (za uporabo GMaila morate omogočiti zunanji program).
6. korak: Knjižnica
Knjižnico najdete na GitHubu
Na forumu morate vprašati funkcije ali prijaviti napake
Dodatna dokumentacija tukaj.