INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Hier wil ek die weergawe 2 van my biblioteek EMailSender verduidelik, 'n groot evolusie ten opsigte van weergawe 1, met ondersteuning vir Arduino met w5100, w5200 en w5500 ethernet -skild en enc28J60 kloontoestelle, en ondersteuning vir esp32 en esp8266.
Nou kan u ook aanhangsels byvoeg, gelaai vanaf stoorapparaat soos SD of SPIFFS. Hier is Arduino -ethernetgebruik.
Voorrade
- Arduino Mega
- enk28J60
- SD kaart
Stap 1: Kies die korrekte toestel ENC28J60 of W5100 -reeks
Arduino bestuur gewoonlik die netwerk met 'n eksterne toestel; die standaardtoestel, soos w5100, gebruik Ethernet -biblioteek, die klone ENC28J60 het 'n paar biblioteke om te kies.
Om u toestel te kies, moet u op die biblioteeklêer EMailSenderKey.h gaan en die regte een instel
#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // Standaard
Die biblioteek wat gelaai is om hierdie tipe toestel te bestuur, is UIPEthernet; u kan die biblioteek vind by biblioteekbestuurder van die Arduino IDE
of u kan die standaardnetwerktipe verander
#definieer DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100
Dit is die standaard implementering en gebruik Ethernet -biblioteek.
'N Belangrike aspek wat u moet oorweeg, is dat hierdie Ethernet -skild nie SSL of TLS ondersteun nie, dus moet u 'n verskaffer SMTP vind wat 'n SMTP -verbinding bied sonder hierdie tipe inskrywing.
Ek skep 'n onderwerp op die forum waar u die verskaffer wat u gebruik kan byvoeg, wat u ook by my kan vind.
Stap 2: Stuur eenvoudige e -pos
Om 'n e -pos met Arduino te stuur, moet u 'n verskaffer vind wat sonder SSL of TLS werk. Vir my oplossing gebruik ek dit met die SendGrid -verskaffer.
Ek dink die gebruik daarvan is baie eenvoudig.
U moet dus die verskaffer stel
EMailSender emailSend ("YOUR-SENDGRID-API-KEY", "YOUR-SENDGRID-PASSWD", "FROM-EMAIL", "smtp.sendgrid.net", 25);
Dan moet u 'n boodskap skep en dit stuur
EMailSender:: EMailMessage boodskap; message.subject = "Soggetto"; message.message = "Dit is 'n goeie idee.
EMailSender:: Reaksie resp = emailSend.send ("[email protected]", boodskap);
Serial.println ("Stuurstatus:");
Serial.println (resp.status);
Serial.println (resp. Kode); Serial.println (resp.desc);
Stap 3: Koppel 'n SD -wa aan om aanhangsels te bestuur
As om aanhangsels te stuur, moet u 'n SD -kaart aansluit, soos in die skema, as u meer inligting benodig oor die verbinding, verwys u na hierdie artikel "Hoe om 'n SD -kaart te gebruik met esp8266, esp32 en Arduino".
Stap 4: Stuur e -pos met aanhangsels
Om 'n e -pos met aanhangsels te stuur, moet u 'n verskaffer vind wat die funksie ondersteun, my verskaffersnetwerkverskaffer ondersteun dit nie, en GMX die verskaffer wat ek vir die toets gebruik het, nie meer ondersteuning nie.
Maar as u 'n nuwe verskaffer vind, kan u hierdie kode gebruik om die lêers aan te heg.
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 = vals; fileDescriptor [0].storageType = EMailSender:: EMAIL_STORAGE_TYPE_SD;
EMailSender:: Aanhegsels attachs = {1, fileDescriptor};
EMailSender:: Reaksie resp = emailSend.send ("[email protected]", boodskap, aangeheg);
Stap 5: Die resultaat
Hier is die e -pos wat gestuur is met 'n esp8266- en GMail -verskaffer (om GMail te gebruik, moet u 'n eksterne program gebruik).
Stap 6: Biblioteek
U kan die biblioteek vind op GitHub
En u moet funksies vra of foute op Forum rapporteer
Bykomende dokumentasie hier.