Innholdsfortegnelse:

Slik sender du e -post med vedlegg med Arduino, Esp32 og Esp8266: 6 trinn
Slik sender du e -post med vedlegg med Arduino, Esp32 og Esp8266: 6 trinn

Video: Slik sender du e -post med vedlegg med Arduino, Esp32 og Esp8266: 6 trinn

Video: Slik sender du e -post med vedlegg med Arduino, Esp32 og Esp8266: 6 trinn
Video: Tricks af MESTRE og hemmelige enheder!!! Men man ved aldrig!!! 2024, November
Anonim
Slik sender du e -post med vedlegg med Arduino, Esp32 og Esp8266
Slik sender du e -post med vedlegg med Arduino, Esp32 og Esp8266

Her vil jeg forklare versjon 2 av biblioteket mitt EMailSender, en stor evolusjon i forhold til versjon 1, med støtte for Arduino med w5100, w5200 og w5500 ethernet -skjerm og enc28J60 kloneenheter, og støtte for esp32 og esp8266.

Nå kan du også legge til vedlegg, lastet fra lagringsenhet som SD eller SPIFFS. Her bruk av Arduino ethernet.

Rekvisita

  • Arduino Mega
  • enc28J60
  • SD kort

Trinn 1: Velg riktig enhet ENC28J60 eller W5100 -serien

Velg riktig enhet ENC28J60 eller W5100 -serien
Velg riktig enhet ENC28J60 eller W5100 -serien

Arduino administrerer normalt nettverk med ekstern enhet, standardenheten som w5100 bruker Ethernet -bibliotek, klonene ENC28J60 har noen biblioteker å velge.

For å velge enheten må du gå til biblioteksfilen EMailSenderKey.h og angi den riktige

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // Standard

Biblioteket lastet for å administrere denne typen enheter er UIPEthernet, du kan finne biblioteket på biblioteksjef for Arduino IDE

eller du kan endre standard nettverkstype

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100

Dette er standard implementering og bruk Ethernet -bibliotek.

En viktig tanke å vurdere er at dette Ethernet -skjermet ikke støtter SSL eller TLS, så du må finne en leverandør SMTP som tilbyr en SMTP -tilkobling uten denne typen innskrivning.

Jeg lager et emne på forum hvor du kan legge til leverandøren du bruker, som du også kan finne min.

Trinn 2: Send enkel e -post

Send enkel e -post
Send enkel e -post

For å sende en e -post med Arduino må du finne en leverandør som fungerer uten SSL eller TLS. For min løsning bruker jeg med SendGrid -leverandøren.

Jeg tror bruken er veldig veldig enkel.

Så du må angi leverandøren

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

Du må opprette en melding og sende den

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

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

Serial.println ("Senderstatus:");

Serial.println (resp. Status);

Serial.println (resp. Kode); Serial.println (resp. Desc);

Trinn 3: Koble en SD -vogn for å administrere vedlegg

Koble en SD -vogn til Administrer vedlegg
Koble en SD -vogn til Administrer vedlegg

For å sende vedlegg må du koble til et SD -kort som i skjemaet, hvis du trenger mer informasjon om tilkoblingsreferanse til denne artikkelen "Slik bruker du SD -kort med esp8266, esp32 og Arduino".

Trinn 4: Send e -post med vedlegg

For å sende e -post med vedlegg må du finne en leverandør som støtter denne funksjonaliteten, min sendgrid -leverandør støtter ikke det, og GMX -leverandøren som jeg brukte for testen, støtter ikke lenger.

Men hvis du finner en ny leverandør, kan du bruke denne koden til å legge ved filene.

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:: Svar resp = emailSend.send ("[email protected]", melding, vedlegg);

Trinn 5: Resultatet

Resultatet
Resultatet

Her er e -posten sendt med en esp8266- og GMail -leverandør (for å bruke GMail må du skrive et eksternt program).

Trinn 6: Bibliotek

Du finner biblioteket på GitHub

Og du må spørre funksjoner eller rapportere feil på forumet

Ytterligere dokumentasjon her.

Anbefalt: