Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tässä haluaisin selittää kirjastoni EMailSenderin version 2, joka on suuri kehitys suhteessa versioon 1, ja tukee Arduinoa, jossa on w5100-, w5200- ja w5500 -ethernet -suoja sekä enc28J60 -kloonilaitteet, ja tukea esp32: lle ja esp8266: lle.
Nyt voit lisätä myös liitteitä, jotka on ladattu tallennuslaitteelta, kuten SD- tai SPIFFS -muistitikulta. Tässä Arduinon ethernetin käyttö.
Tarvikkeet
- Arduino Mega
- enc28J60
- Sd-kortti
Vaihe 1: Valitse oikea laite ENC28J60 tai W5100 -sarja
Normaalisti Arduino hallitsee verkkoa ulkoisella laitteella, standardilaite, kuten w5100, käyttää Ethernet -kirjastoa, klooneilla ENC28J60 on joitain kirjastoja.
Laitteen valitsemiseksi sinun on siirryttävä EMailSenderKey.h -kirjastotiedostoon ja asetettava oikea
#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // Oletus
Tämän tyyppisten laitteiden hallintaan ladattu kirjasto on UIPEthernet, löydät kirjaston Arduino IDE: n kirjastonhallinnasta
tai voit muuttaa verkon oletustyyppiä
#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100
Tämä on Ethernet -kirjaston vakio toteutus ja käyttö.
Tärkeä harkittava asia on, että tämä Ethernet -suoja ei tue SSL- tai TLS -protokollaa, joten sinun on löydettävä palveluntarjoajan SMTP, joka tarjoaa SMTP -yhteyden ilman tällaista kirjoitusta.
Luo foorumille aihe, johon voit lisätä käyttämäsi palveluntarjoajan, josta löydät myös omani.
Vaihe 2: Lähetä yksinkertainen sähköposti
Jos haluat lähettää sähköpostiviestin Arduinon kanssa, sinun on löydettävä palveluntarjoaja, joka toimii ilman SSL- tai TLS -protokollaa. Ratkaisuani käytän SendGrid -palveluntarjoajan kanssa.
Käyttö on mielestäni hyvin yksinkertaista.
Joten sinun on määritettävä palveluntarjoaja
EMailSender emailSend ("YOUR-SENDGRID-API-KEY", "YOUR-SENDGRID-PASSWD", "FROM-EMAIL", "smtp.sendgrid.net", 25);
Sinun on luotava viesti ja lähetettävä se
EMailSender:: EMailMessage -viesti; message.subject = "Soggetto"; message.message = "Ciao come staiio bene.
EMailSender:: Response resp = emailSend.send ("[email protected]", viesti);
Serial.println ("Lähetyksen tila:");
Serial.println (tai tila);
Serial.println (koodi); Serial.println (tai desc);
Vaihe 3: Yhdistä SD -ostoskori hallitaksesi liitteitä
Liitteiden lähettämisen lisäksi sinun on liitettävä SD -kortti kuten kaaviossa, jos tarvitset lisätietoja tämän artikkelin "SD -kortin käyttö esp8266, esp32 ja Arduino" kanssa liittyvistä yhteysviittauksista.
Vaihe 4: Lähetä sähköpostiviesti liitteineen
Jos haluat lähettää sähköpostia liitteineen, sinun on löydettävä palveluntarjoaja, joka tukee tätä toimintoa, minun sendgrid -palveluntarjoajani ei tue sitä ja GMX -palveluntarjoaja, jota käytin testissä, ei enää tue.
Mutta jos löydät uuden palveluntarjoajan, voit käyttää tätä koodia tiedostojen liittämiseen.
EMailSender:: FileDescriptior fileDescriptor [1]; fileDescriptor [0].tiedostonimi = F ("test.txt"); fileDescriptor [0].url = F ("/test.txt"); fileDescriptor [0].mime = MIME_TEXT_PLAIN; fileDescriptor [0].encode64 = epätosi; fileDescriptor [0].storageType = EMailSender:: EMAIL_STORAGE_TYPE_SD;
EMailSender:: Liitteet liitteitä = {1, fileDescriptor};
EMailSender:: Response resp = emailSend.send ("[email protected]", viesti, liitteet);
Vaihe 5: Tulos
Tässä sähköposti lähetettiin esp8266: lle ja GMail -palveluntarjoajalle (GMailin käyttämiseksi sinun täytyy emaloida ulkoinen ohjelma).
Vaihe 6: Kirjasto
Löydät kirjaston GitHubista
Ja sinun on kysyttävä foorumin ominaisuuksia tai ilmoitettava virheistä
Lisädokumentaatio täällä.