Isi kandungan:

Cara Menghantar Email Dengan Lampiran Dengan Arduino, Esp32 dan Esp8266: 6 Langkah
Cara Menghantar Email Dengan Lampiran Dengan Arduino, Esp32 dan Esp8266: 6 Langkah

Video: Cara Menghantar Email Dengan Lampiran Dengan Arduino, Esp32 dan Esp8266: 6 Langkah

Video: Cara Menghantar Email Dengan Lampiran Dengan Arduino, Esp32 dan Esp8266: 6 Langkah
Video: How to send an image to a Telegram user in VBA 2024, November
Anonim
Cara Menghantar Email Dengan Lampiran Dengan Arduino, Esp32 dan Esp8266
Cara Menghantar Email Dengan Lampiran Dengan Arduino, Esp32 dan Esp8266

Di sini saya ingin menerangkan versi 2 perpustakaan saya EMailSender, evolusi besar berkaitan dengan versi 1, dengan sokongan untuk Arduino dengan perisai ethernet w5100, w5200 dan w5500 dan peranti klon enc28J60, dan sokongan untuk esp32 dan esp8266.

Sekarang anda boleh menambahkan lampiran juga, dimuat dari peranti storan seperti SD atau SPIFFS. Di sini penggunaan Arduino ethernet.

Bekalan

  • Arduino Mega
  • enc28J60
  • Kad SD

Langkah 1: Pilih Perisian yang betul ENC28J60 atau W5100 Series

Pilih Perisian yang betul ENC28J60 atau W5100 Series
Pilih Perisian yang betul ENC28J60 atau W5100 Series

Arduino, biasanya, menguruskan rangkaian dengan peranti luaran, peranti standard seperti w5100 menggunakan perpustakaan Ethernet, klon ENC28J60 mempunyai beberapa perpustakaan untuk dipilih.

Untuk memilih peranti anda, anda mesti pergi ke fail perpustakaan EMailSenderKey.h dan tetapkan yang betul

#tentukan DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // Lalai

Perpustakaan yang dimuat untuk menguruskan jenis peranti ini adalah UIPEthernet, anda boleh menemui perpustakaan di pengurus perpustakaan Arduino IDE

atau anda boleh menukar jenis rangkaian lalai

#tentukan DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100

Ini adalah pelaksanaan standard dan menggunakan perpustakaan Ethernet.

Pemikiran penting yang perlu dipertimbangkan adalah bahawa pelindung Ethernet ini tidak menyokong SSL atau TLS, jadi anda mesti mencari penyedia SMTP yang menawarkan sambungan SMTP tanpa jenis enkripsi ini.

Saya membuat topik di forum di mana anda boleh menambah penyedia yang anda gunakan, yang anda juga boleh temukan.

Langkah 2: Hantar E-mel Mudah

Hantar E-mel Mudah
Hantar E-mel Mudah

Untuk menghantar e-mel dengan Arduino, anda mesti mencari penyedia yang berfungsi tanpa SSL atau TLS, Untuk penyelesaian saya, saya gunakan dengan penyedia SendGrid.

Saya rasa penggunaannya sangat mudah.

Oleh itu, anda mesti menetapkan penyedia

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

Daripada anda mesti membuat mesej dan menghantarnya

EMailSender:: Mesej EMailMessage; message.subject = "Soggetto"; message.message = "Ciao datang staiio di bawah.

EMailSender:: Response = emailSend.send ("[email protected]", mesej);

Serial.println ("Menghantar status:");

Serial.println (resp.status);

Serial.println (kod respon); Serial.println (resp.desc);

Langkah 3: Sambungkan Troli SD untuk Menguruskan Lampiran

Sambungkan Troli SD untuk Menguruskan Lampiran
Sambungkan Troli SD untuk Menguruskan Lampiran

Daripada menghantar lampiran, anda mesti menyambungkan kad SD seperti dalam skema, jika anda memerlukan lebih banyak maklumat mengenai sambungan sambungan ke artikel ini "Cara menggunakan kad SD dengan esp8266, esp32 dan Arduino".

Langkah 4: Hantar E-mel Berserta Lampiran

Untuk menghantar e-mel dengan lampiran, anda mesti mencari penyedia yang menyokong fungsi itu, penyedia sendgrid saya tidak menyokongnya dan GMX penyedia yang saya gunakan untuk ujian tidak lagi menyokong.

Tetapi jika anda mencari pembekal baru, anda boleh menggunakan kod ini untuk melampirkan fail.

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

EMailSender:: Response = emailSend.send ("[email protected]", mesej, lampiran);

Langkah 5: Hasilnya

Keputusan
Keputusan

Di sini e-mel yang dihantar dengan penyedia esp8266 dan GMail (untuk menggunakan GMail anda mesti memasukkan program luaran).

Langkah 6: Perpustakaan

Anda boleh menemui perpustakaan di GitHub

Dan anda mesti meminta ciri atau melaporkan pepijat di Forum

Dokumentasi tambahan di sini.

Disyorkan: