Inhoudsopgave:

E-mails met bijlagen verzenden met Arduino, Esp32 en Esp8266: 6 stappen
E-mails met bijlagen verzenden met Arduino, Esp32 en Esp8266: 6 stappen

Video: E-mails met bijlagen verzenden met Arduino, Esp32 en Esp8266: 6 stappen

Video: E-mails met bijlagen verzenden met Arduino, Esp32 en Esp8266: 6 stappen
Video: Elektor's Labs Platform | elektronicaprojecten, samenwerking en meer! 2024, December
Anonim
E-mails met bijlagen verzenden met Arduino, Esp32 en Esp8266
E-mails met bijlagen verzenden met Arduino, Esp32 en Esp8266

Hier wil ik de versie 2 van mijn bibliotheek EMailSender uitleggen, een grote evolutie ten opzichte van versie 1, met ondersteuning voor Arduino met w5100, w5200 en w5500 ethernet shield en enc28J60 kloonapparaten, en ondersteuning voor esp32 en esp8266.

Nu kunt u ook bijlagen toevoegen, geladen vanaf een opslagapparaat zoals SD of SPIFFS. Hier Arduino ethernet gebruik.

Benodigdheden

  • Arduino Mega
  • enc28J60
  • SD-kaart

Stap 1: Selecteer het juiste apparaat ENC28J60- of W5100-serie

Selecteer het juiste apparaat ENC28J60 of W5100-serie
Selecteer het juiste apparaat ENC28J60 of W5100-serie

Arduino beheert normaal gesproken het netwerk met een extern apparaat, het standaardapparaat zoals w5100 gebruikt Ethernet-bibliotheek, de klonen ENC28J60 hebben enkele bibliotheken om te selecteren.

Om uw apparaat te selecteren, moet u naar het EMailSenderKey.h-bibliotheekbestand gaan en de juiste instellen

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // Standaard

De bibliotheek die is geladen om dit type apparaat te beheren is UIPEthernet, u kunt de bibliotheek vinden in bibliotheekbeheer van de Arduino IDE

of u kunt het standaard netwerktype wijzigen

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100

Dit is de standaard implementatie en gebruik Ethernet-bibliotheek.

Een belangrijke gedachte om te overwegen is dat dit Ethernet-schild geen SSL of TLS ondersteunt, dus u moet een SMTP-provider vinden die een SMTP-verbinding biedt zonder dit type codering.

Ik maak een onderwerp op het forum waar je de provider kunt toevoegen die je gebruikt, dat je de mijne ook kunt vinden.

Stap 2: Stuur een eenvoudige e-mail

Eenvoudige e-mail verzenden
Eenvoudige e-mail verzenden

Om een e-mail te versturen met Arduino moet je een provider zoeken die werkt zonder SSL of TLS, Voor mijn oplossing gebruik ik met de SendGrid provider.

Ik denk dat het gebruik heel erg eenvoudig is.

Dus je moet de provider instellen

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

Dan moet je een bericht maken en het verzenden

EMailSender::EMailMessage-bericht; message.subject = "Soggetto"; message.message = "Ciao kom staiio bene.

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

Serial.println("Verzendstatus: ");

Serial.println(resp.status);

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

Stap 3: Verbind een SD Cart om bijlagen te beheren

Sluit een SD-wagentje aan om bijlagen te beheren
Sluit een SD-wagentje aan om bijlagen te beheren

Om bijlagen te verzenden moet je een SD-kaart aansluiten zoals in het schema, als je meer informatie over de verbinding nodig hebt, raadpleeg dan dit artikel "Hoe SD-kaart te gebruiken met esp8266, esp32 en Arduino".

Stap 4: E-mail verzenden met bijlagen

Om e-mail met bijlagen te verzenden, moet je een provider vinden die die functionaliteit ondersteunt, mijn sendgrid-provider ondersteunt dat niet en GMX de provider die ik voor de test heb gebruikt, ondersteunt niet meer.

Maar als u een nieuwe provider vindt, kunt u deze code gebruiken om de bestanden bij te voegen.

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::Bijlagen hecht = {1, fileDescriptor};

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

Stap 5: Het resultaat

Het resultaat
Het resultaat

Hier de e-mail die is verzonden met een esp8266 en GMail-provider (om GMail te gebruiken moet u een extern programma gebruiken).

Stap 6: Bibliotheek

Je kunt de bibliotheek vinden op GitHub

En je moet functies vragen of bugs melden op Forum

Aanvullende documentatie hier.

Aanbevolen: