Turinys:

Kaip siųsti el. Laiškus su priedais naudojant „Arduino“, „Esp32“ir „Esp8266“: 6 veiksmai
Kaip siųsti el. Laiškus su priedais naudojant „Arduino“, „Esp32“ir „Esp8266“: 6 veiksmai

Video: Kaip siųsti el. Laiškus su priedais naudojant „Arduino“, „Esp32“ir „Esp8266“: 6 veiksmai

Video: Kaip siųsti el. Laiškus su priedais naudojant „Arduino“, „Esp32“ir „Esp8266“: 6 veiksmai
Video: CS50 2013 - Week 9 2024, Lapkritis
Anonim
Kaip siųsti el. Laiškus su priedais naudojant „Arduino“, „Esp32“ir „Esp8266“
Kaip siųsti el. Laiškus su priedais naudojant „Arduino“, „Esp32“ir „Esp8266“

Čia norėčiau paaiškinti savo bibliotekos „EMailSender“2 versiją, kuri yra didelė evoliucija, palyginti su 1 versija, palaikant „Arduino“su „w5100“, „w5200“ir „w5500“eterneto skydu bei „enc28J60“klonų įrenginiais ir palaikant esp32 ir esp8266.

Dabar taip pat galite pridėti priedų, įkeltų iš atminties įrenginio, pvz., SD arba SPIFFS. Čia naudojamas „Arduino“eternetas.

Prekės

  • Arduino Mega
  • enc28J60
  • SD kortelė

1 veiksmas: pasirinkite „Correct Device ENC28J60“arba „W5100 Series“

Pasirinkite „Correct Device ENC28J60“arba „W5100 Series“
Pasirinkite „Correct Device ENC28J60“arba „W5100 Series“

Paprastai „Arduino“valdo tinklą naudodami išorinį įrenginį, standartinis įrenginys, pvz., „W5100“, naudoja eterneto biblioteką, o klonuose ENC28J60 yra keletas bibliotekų, kurias galima pasirinkti.

Norėdami pasirinkti savo įrenginį, turite eiti į EMailSenderKey.h bibliotekos failą ir nustatyti teisingą

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // Numatytasis

Biblioteka, įkelta šio tipo įrenginiams valdyti, yra „UIPEthernet“, biblioteką galite rasti „Arduino IDE“bibliotekos tvarkyklėje

arba galite pakeisti numatytąjį tinklo tipą

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100

Tai yra standartinė diegimo ir naudojimo eterneto biblioteka.

Svarbu pagalvoti, kad šis „Ethernet“skydas nepalaiko SSL ar TLS, todėl turite rasti teikėjo SMTP, siūlantį SMTP ryšį be tokio tipo užrašų.

Forume sukuriu temą, kurioje galite pridėti naudojamą paslaugų teikėją, kad galėtumėte rasti ir mano.

2 veiksmas: siųskite paprastą el

Siųsti paprastą el
Siųsti paprastą el

Norėdami išsiųsti el. Laišką su „Arduino“, turite rasti teikėją, kuris veikia be SSL ar TLS. Mano sprendimui naudoju „SendGrid“teikėją.

Manau, kad naudojimas yra labai labai paprastas.

Taigi turite nustatyti teikėją

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

Jūs turite sukurti pranešimą ir jį išsiųsti

EMailSender:: EMailMessage žinutė; message.subject = "Soggetto"; message.message = "Ciao come staiio bene.

EMailSender:: Atsakymas resp = emailSend.send ("[email protected]", žinutė);

Serial.println ("Siuntimo būsena:");

Serial.println (resp. Statusas);

Serial.println (atitinkamai kodas); Serial.println (resp. Desc);

3 veiksmas: prijunkite SD krepšelį prie priedų tvarkymo

Prijunkite SD krepšelį, kad galėtumėte tvarkyti priedus
Prijunkite SD krepšelį, kad galėtumėte tvarkyti priedus

Kad galėtumėte išsiųsti priedus, turite prijungti SD kortelę, kaip nurodyta schemoje, jei jums reikia daugiau informacijos apie ryšio nuorodą į šį straipsnį „Kaip naudoti SD kortelę su esp8266, esp32 ir Arduino“.

4 veiksmas: siųskite el. Laišką su priedais

Norėdami siųsti el. Laišką su priedais, turite rasti tą funkciją palaikantį teikėją, mano sendgrid teikėjas to nepalaiko, o GMX teikėjas, kurį naudoju bandymui, nebepalaikomas.

Bet jei radote naują teikėją, galite naudoti šį kodą failams pridėti.

EMailSender:: FileDescriptior fileDescriptor [1]; fileDescriptor [0]. failo pavadinimas = 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:: Priedai priedai = {1, fileDescriptor};

EMailSender:: Response resp = emailSend.send ("[email protected]", pranešimas, priedai);

5 žingsnis: rezultatas

Rezultatas
Rezultatas

Čia el. Laiškas buvo išsiųstas su esp8266 ir „GMail“teikėju (norėdami naudoti „GMail“, turite įjungti išorinę programą).

6 žingsnis: biblioteka

Biblioteką galite rasti „GitHub“https://github.com/xreef/EMailSender

Ir jūs turite paklausti funkcijų arba pranešti apie klaidas forume

Papildoma dokumentacija čia.

Rekomenduojamas: