Cuprins:

Cum să trimiteți e-mailuri cu atașamente cu Arduino, Esp32 și Esp8266: 6 pași
Cum să trimiteți e-mailuri cu atașamente cu Arduino, Esp32 și Esp8266: 6 pași

Video: Cum să trimiteți e-mailuri cu atașamente cu Arduino, Esp32 și Esp8266: 6 pași

Video: Cum să trimiteți e-mailuri cu atașamente cu Arduino, Esp32 și Esp8266: 6 pași
Video: Cum trimiți atașamente mari prin Gmail 2024, Noiembrie
Anonim
Cum să trimiteți e-mailuri cu atașamente cu Arduino, Esp32 și Esp8266
Cum să trimiteți e-mailuri cu atașamente cu Arduino, Esp32 și Esp8266

Aici aș dori să explic versiunea 2 a bibliotecii mele EMailSender, o mare evoluție în ceea ce privește versiunea 1, cu suport pentru Arduino cu scut ethernet w5100, w5200 și w5500 și dispozitive clone enc28J60 și suport pentru esp32 și esp8266.

Acum puteți adăuga, de asemenea, atașamente, încărcate de pe dispozitivul de stocare, cum ar fi SD sau SPIFFS. Aici utilizarea ethernet Arduino.

Provizii

  • Arduino Mega
  • enc28J60
  • card SD

Pasul 1: Selectați dispozitivul corect ENC28J60 sau seria W5100

Selectați Dispozitivul corect ENC28J60 sau seria W5100
Selectați Dispozitivul corect ENC28J60 sau seria W5100

Arduino, în mod normal, gestionează rețeaua cu un dispozitiv extern, dispozitivul standard, cum ar fi w5100, utilizează biblioteca Ethernet, clonele ENC28J60 au unele biblioteci de selectat.

Pentru a vă selecta dispozitivul, trebuie să accesați fișierul bibliotecii EMailSenderKey.h și să îl setați pe cel corect

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // Implicit

Biblioteca încărcată pentru gestionarea acestui tip de dispozitiv este UIPEthernet, puteți găsi biblioteca în managerul de bibliotecă al IDE Arduino

sau puteți schimba tipul de rețea implicit

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100

Aceasta este biblioteca standard de implementare și utilizare Ethernet.

Un lucru important care trebuie luat în considerare este că acest ecran Ethernet nu acceptă SSL sau TLS, deci trebuie să găsiți un furnizor SMTP care să ofere o conexiune SMTP fără acest tip de codificare.

Creez un subiect pe forum unde puteți adăuga furnizorul pe care îl utilizați, pe care îl puteți găsi și pe al meu.

Pasul 2: trimiteți un e-mail simplu

Trimiteți un e-mail simplu
Trimiteți un e-mail simplu

Pentru a trimite un e-mail cu Arduino trebuie să găsiți un furnizor care funcționează fără SSL sau TLS, pentru soluția mea o folosesc cu furnizorul SendGrid.

Cred că utilizarea este foarte foarte simplă.

Deci, trebuie să setați furnizorul

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

Deci trebuie să creați un mesaj și să-l trimiteți

EMailSender:: mesaj EMailMessage; message.subject = "Soggetto"; message.message = "Ciao come staiio bene.

EMailSender:: Response resp = emailSend.send ("[email protected]", mesaj);

Serial.println ("Stare de trimitere:");

Serial.println (resp.status);

Serial.println (resp.code); Serial.println (resp.desc);

Pasul 3: Conectați un coș SD pentru a gestiona atașamentele

Conectați un coș SD pentru a gestiona atașamentele
Conectați un coș SD pentru a gestiona atașamentele

Decât pentru a trimite atașamente, trebuie să conectați un card SD ca în schemă, dacă aveți nevoie de mai multe informații despre conexiune, consultați acest articol „Cum se utilizează cardul SD cu esp8266, esp32 și Arduino”.

Pasul 4: Trimiteți un e-mail cu atașamente

Pentru a trimite e-mailuri cu atașamente, trebuie să găsiți un furnizor care să accepte această funcționalitate, furnizorul meu sendgrid nu acceptă acest lucru și GMX furnizorul pe care l-am folosit pentru test nu mai suport.

Dar dacă găsiți un furnizor nou, puteți utiliza acest cod pentru a atașa fișierele.

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]", mesaj, atașamente);

Pasul 5: Rezultatul

Rezultatul
Rezultatul

Aici e-mailul trimis cu un furnizor de sp8266 și GMail (pentru a utiliza GMail trebuie să folosiți un program extern).

Pasul 6: Biblioteca

Puteți găsi biblioteca pe GitHub

Și trebuie să întrebați caracteristici sau să raportați erori pe forum

Documentație suplimentară aici.

Recomandat: