Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Č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“
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
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
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
Č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.