Sadržaj:

Kako slati e -poštu s prilozima pomoću Arduina, Esp32 i Esp8266: 6 koraka
Kako slati e -poštu s prilozima pomoću Arduina, Esp32 i Esp8266: 6 koraka

Video: Kako slati e -poštu s prilozima pomoću Arduina, Esp32 i Esp8266: 6 koraka

Video: Kako slati e -poštu s prilozima pomoću Arduina, Esp32 i Esp8266: 6 koraka
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, Novembar
Anonim
Kako slati e -poštu s prilozima pomoću Arduina, Esp32 i Esp8266
Kako slati e -poštu s prilozima pomoću Arduina, Esp32 i Esp8266

Ovdje bih želio objasniti verziju 2 svoje biblioteke EMailSender, veliku evoluciju u odnosu na verziju 1, s podrškom za Arduino sa w5100, w5200 i w5500 ethernet štitom i kloniranim uređajima enc28J60, te podrškom za esp32 i esp8266.

Sada možete dodati i privitke, učitane sa uređaja za pohranu poput SD -a ili SPIFFS -a. Ovdje se koristi Arduino ethernet.

Supplies

  • Arduino Mega
  • enc28J60
  • sd kartica

Korak 1: Odaberite Ispravan uređaj serije ENC28J60 ili W5100

Odaberite Ispravan uređaj serije ENC28J60 ili W5100
Odaberite Ispravan uređaj serije ENC28J60 ili W5100

Arduino, normalno, upravlja mrežom s vanjskim uređajem, standardni uređaj poput w5100 koristi Ethernet biblioteku, klonovi ENC28J60 imaju neke biblioteke za odabir.

Da biste odabrali svoj uređaj, morate otići u datoteku biblioteke EMailSenderKey.h i postaviti ispravnu

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // Zadano

Biblioteka učitana za upravljanje ovom vrstom uređaja je UIPEthernet, biblioteku možete pronaći na upravitelju biblioteke Arduino IDE -a

ili možete promijeniti zadanu vrstu mreže

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100

Ovo je standardna implementacija i upotreba Ethernet biblioteke.

Važno je uzeti u obzir da ovaj Ethernet štit ne podržava SSL ili TLS, pa morate pronaći SMTP dobavljača koji nudi SMTP vezu bez ove vrste upisa.

Na forumu stvaram temu u koju možete dodati dobavljača usluge kojeg koristite, a možete pronaći i moju.

Korak 2: Pošaljite jednostavnu e -poštu

Pošalji jednostavnu e -poštu
Pošalji jednostavnu e -poštu

Da biste poslali e -poštu s Arduinom, morate pronaći dobavljača koji radi bez SSL -a ili TLS -a. Za svoje rješenje koristim s davateljem usluge SendGrid.

Mislim da je upotreba vrlo jednostavna.

Zato morate postaviti provajdera

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

Zatim morate stvoriti poruku i poslati je

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

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

Serial.println ("Status slanja:");

Serial.println (odn. Status);

Serial.println (odn. Kôd); Serial.println (odn. Desc);

Korak 3: Povežite SD korpu za upravljanje prilozima

Povežite SD korpu za upravljanje prilozima
Povežite SD korpu za upravljanje prilozima

Da biste slali privitke, morate spojiti SD karticu kao na shemi, ako vam je potrebno više informacija o povezivanju, pogledajte ovaj članak "Kako koristiti SD karticu s esp8266, esp32 i Arduino".

Korak 4: Pošaljite e -poštu s prilozima

Za slanje e -pošte s prilozima morate pronaći davatelja koji podržava tu funkciju, moj pružatelj usluga slanja mreže to ne podržava, a GMX davatelja koje sam koristio za test više nema podrške.

Ali ako pronađete novog davatelja usluga, možete koristiti ovaj kôd za prilaganje datoteka.

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

EMailSender:: Odgovor resp = emailSend.send ("[email protected]", poruka, prilozi);

Korak 5: Rezultat

Rezultat
Rezultat

Ovdje se e -pošta šalje sa dobavljačem usluga esp8266 i GMail (da biste koristili GMail, morate omogućiti vanjski program).

Korak 6: Biblioteka

Biblioteku možete pronaći na GitHub -u

I morate pitati funkcije ili prijaviti greške na Forumu

Dodatna dokumentacija ovde.

Preporučuje se: