Kazalo:

Kako pošiljati e -pošto s prilogami z Arduinom, Esp32 in Esp8266: 6 korakov
Kako pošiljati e -pošto s prilogami z Arduinom, Esp32 in Esp8266: 6 korakov

Video: Kako pošiljati e -pošto s prilogami z Arduinom, Esp32 in Esp8266: 6 korakov

Video: Kako pošiljati e -pošto s prilogami z Arduinom, Esp32 in Esp8266: 6 korakov
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, November
Anonim
Kako pošiljati e -pošto s prilogami z Arduinom, Esp32 in Esp8266
Kako pošiljati e -pošto s prilogami z Arduinom, Esp32 in Esp8266

Tu bi rad razložil različico 2 svoje knjižnice EMailSender, veliko evolucijo glede na različico 1, s podporo za Arduino z ethernetnim ščitom w5100, w5200 in w5500 in klonskimi napravami enc28J60 ter podporo za esp32 in esp8266.

Zdaj lahko dodate tudi priloge, naložene iz pomnilniške naprave, kot sta SD ali SPIFFS. Tukaj je uporaba Etherneta Arduino.

Zaloge

  • Arduino Mega
  • enc28J60
  • sD kartice

Korak: Izberite Pravilna naprava serije ENC28J60 ali W5100

Izberite Pravilna naprava serije ENC28J60 ali W5100
Izberite Pravilna naprava serije ENC28J60 ali W5100

Arduino običajno upravlja omrežje z zunanjo napravo, standardna naprava, kot je w5100, uporablja Ethernet knjižnico, kloni ENC28J60 imajo na voljo nekaj knjižnic.

Če želite izbrati svojo napravo, pojdite v knjižnico EMailSenderKey.h in nastavite pravilno

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // Privzeto

Knjižnica, naložena za upravljanje te vrste naprav, je UIPEthernet, knjižnico najdete v upravitelju knjižnice Arduino IDE

ali pa spremenite privzeto vrsto omrežja

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100

To je standardna knjižnica za izvajanje in uporabo Ethernet.

Pomembno je razmisliti, da ta ethernetni ščit ne podpira SSL ali TLS, zato morate poiskati ponudnika SMTP, ki ponuja povezavo SMTP brez te vrste zapisa.

Na forumu ustvarim temo, kjer lahko dodate ponudnika, ki ga uporabljate, da najdete tudi mojega.

Korak: Pošljite preprosto e -poštno sporočilo

Pošljite preprosto e -pošto
Pošljite preprosto e -pošto

Če želite poslati e -poštno sporočilo z Arduinom, morate najti ponudnika, ki deluje brez SSL ali TLS. Za svojo rešitev uporabljam ponudnika SendGrid.

Mislim, da je uporaba zelo preprosta.

Zato morate nastaviti ponudnika

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

Nato morate ustvariti sporočilo in ga poslati

EMailSender:: Sporočilo EMailMessage; message.subject = "Soggetto"; message.message = "Ciao come staiio bene.

EMailSender:: Odgovor resp = emailSend.send ("[email protected]", sporočilo);

Serial.println ("Status pošiljanja:");

Serial.println (resp.status);

Serial.println (oz. Koda); Serial.println (oz. Desc);

3. korak: Košarico SD povežite z upravljanjem prilog

Za upravljanje prilog priključite voziček SD
Za upravljanje prilog priključite voziček SD

Za pošiljanje prilog morate povezati kartico SD, kot je prikazano v shemi, če potrebujete več informacij o povezavi, glejte ta članek "Kako uporabljati kartico SD z esp8266, esp32 in Arduino".

4. korak: Pošljite e -pošto s prilogami

Za pošiljanje e -pošte s prilogami morate poiskati ponudnika, ki podpira to funkcijo, moj ponudnik sendgrid ne podpira tega, GMX pa ponudnika, ki sem ga uporabil za test, ni več podpore.

Če pa najdete novega ponudnika, lahko s to kodo priložite datoteke.

EMailSender:: FileDescriptior fileDescriptor [1]; fileDescriptor [0].ime datoteke = 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:: Priloge priloge = {1, fileDescriptor};

EMailSender:: Odziv resp = emailSend.send ("[email protected]", sporočilo, priloge);

5. korak: Rezultat

Rezultat
Rezultat

Tukaj je e -poštno sporočilo poslano ponudniku esp8266 in GMail (za uporabo GMaila morate omogočiti zunanji program).

6. korak: Knjižnica

Knjižnico najdete na GitHubu

Na forumu morate vprašati funkcije ali prijaviti napake

Dodatna dokumentacija tukaj.

Priporočena: