Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Dito nais kong ipaliwanag ang bersyon 2 ng aking library ng EMailSender, isang malaking paggalang sa ebolusyon sa bersyon 1, na may suporta para sa Arduino na may w5100, w5200 at w5500 ethernet Shield at mga enc28J60 clone device, at suporta para sa esp32 at esp8266.
Ngayon ay maaari ka ring magdagdag ng mga kalakip, na-load mula sa imbakan aparato tulad ng SD o SPIFFS. Narito ang paggamit ng Arduino ethernet.
Mga gamit
- Arduino Mega
- enc28J60
- SD card
Hakbang 1: Piliin ang Tamang Device na ENC28J60 o W5100 Series
Karaniwan, ang Arduino, ay namamahala ng network na may panlabas na aparato, ang karaniwang aparato tulad ng w5100 na gumagamit ng Ethernet library ang mga clone na ENC28J60 ay may ilang mga aklatan upang mapili.
Upang mapili ang iyong aparato dapat kang pumunta sa EMailSenderKey.h library file at itakda ang tama
#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // Default
Ang library na na-load upang pamahalaan ang ganitong uri ng aparato ay UIPEthernet, mahahanap mo ang library sa library manager ng Arduino IDE
o maaari mong baguhin ang default na uri ng network
# tukuyin ang DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100
Ito ang karaniwang pagpapatupad at paggamit ng Ethernet library.
Ang isang mahalagang pag-iisipang isaalang-alang ay hindi sinusuportahan ng kalasag ng Ethernet na ito ang SSL o TLS, kaya dapat kang makahanap ng isang provider na SMTP na nag-aalok ng isang koneksyon sa SMTP nang walang ganitong uri ng encription.
Lumilikha ako ng isang paksa sa forum kung saan maaari mong idagdag ang provider na ginagamit mo, na maaari mo ring makita ang akin.
Hakbang 2: Magpadala ng Simpleng Email
Upang magpadala ng isang email kasama ng Arduino dapat kang makahanap ng isang tagapagbigay na walang trabaho na SSL o TLS, Para sa aking solusyon na ginagamit ko sa nagbibigay ng SendGrid.
Sa palagay ko ang paggamit ay napaka-simple.
Kaya dapat mong itakda ang provider
EMailSender emailSend ("IYONG-SENDGRID-API-KEY", "IYONG-SENDGRID-PASSWD", "MULA SA-EMAIL", "smtp.sendgrid.net", 25);
Kaysa dapat kang lumikha ng isang mensahe at ipadala Ito
EMailSender:: Mensahe ng EMailMessage; message.subject = "Soggetto"; message.message = "Ciao come staiio bene.
EMailSender:: Response resp = emailSend.send ("[email protected]", mensahe);
Serial.println ("Katayuan sa Pagpapadala:");
Serial.println (resp.status);
Serial.println (resp.code); Serial.println (resp.desc);
Hakbang 3: Ikonekta ang isang SD Cart upang Pamahalaan ang Mga Attachment
Kaysa upang magpadala ng mga attachment dapat mong ikonekta ang isang SD card tulad ng sa iskema, kung kailangan mo ng karagdagang impormasyon tungkol sa koneksyon muli sa artikulong ito "Paano gamitin ang SD card na may esp8266, esp32 at Arduino".
Hakbang 4: Magpadala ng Email Na May Mga Attachment
Upang magpadala ng email na may mga kalakip dapat kang makahanap ng isang tagapagbigay na sumusuporta sa pagpapaandar na iyon, hindi sinusuportahan ng aking tagapagbigay ng sendgrid iyon at sa GMX na provider na ginamit ko para sa pagsubok wala nang suporta.
Ngunit kung nakakita ka ng isang bagong provider maaari mong gamitin ang code na ito upang ikabit ang mga file.
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:: Nakalakip ang mga kalakip = {1, fileDescriptor};
EMailSender:: Response resp = emailSend.send ("[email protected]", mensahe, kalakip);
Hakbang 5: Ang Resulta
Dito ipinadala ang email kasama ang isang esp8266 at tagabigay ng GMail (upang magamit ang GMail kailangan mong magkaroon ng panlabas na programa).
Hakbang 6: Library
Mahahanap mo ang silid-aklatan sa GitHub
At dapat mong tanungin ang mga tampok o mag-ulat ng mga bug sa Forum
Karagdagang dokumentasyon dito.