Daftar Isi:

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

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

Video: Cara Mengirim Email Dengan Lampiran Dengan Arduino, Esp32 dan Esp8266: 6 Langkah
Video: Arduino | NodeMCU ESP8266 sends Email (Including Email Alert Based on Temperature Threshold) 2024, Desember
Anonim
Cara Mengirim Email Dengan Lampiran Dengan Arduino, Esp32 dan Esp8266
Cara Mengirim Email Dengan Lampiran Dengan Arduino, Esp32 dan Esp8266

Di sini saya ingin menjelaskan versi 2 dari perpustakaan saya EMailSender, evolusi besar sehubungan dengan versi 1, dengan dukungan untuk Arduino dengan perisai ethernet w5100, w5200 dan w5500 dan perangkat klon enc28J60, dan dukungan untuk esp32 dan esp8266.

Sekarang Anda dapat menambahkan lampiran juga, dimuat dari perangkat penyimpanan seperti SD atau SPIFFS. Berikut penggunaan ethernet Arduino.

Perlengkapan

  • Arduino Mega
  • enc28J60
  • kartu SD

Langkah 1: Pilih Perangkat yang Benar Seri ENC28J60 atau W5100

Pilih Perangkat yang Benar Seri ENC28J60 atau W5100
Pilih Perangkat yang Benar Seri ENC28J60 atau W5100

Arduino, biasanya, mengelola jaringan dengan perangkat eksternal, perangkat standar seperti w5100 menggunakan perpustakaan Ethernet, klon ENC28J60 memiliki beberapa perpustakaan untuk dipilih.

Untuk memilih perangkat Anda, Anda harus membuka file perpustakaan EMailSenderKey.h dan mengatur yang benar

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // Bawaan

Pustaka yang dimuat untuk mengelola perangkat jenis ini adalah UIPEthernet, Anda dapat menemukan pustaka di pengelola perpustakaan Arduino IDE

atau Anda dapat mengubah jenis jaringan default

#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100

Ini adalah implementasi standar dan menggunakan perpustakaan Ethernet.

Sebuah pemikiran penting untuk dipertimbangkan adalah bahwa perisai Ethernet ini tidak mendukung SSL atau TLS, jadi Anda harus menemukan penyedia SMTP yang menawarkan koneksi SMTP tanpa jenis enkripsi ini.

Saya membuat topik di forum tempat Anda dapat menambahkan penyedia yang Anda gunakan, yang juga dapat Anda temukan milik saya.

Langkah 2: Kirim Email Sederhana

Kirim Email Sederhana
Kirim Email Sederhana

Untuk mengirim email dengan Arduino Anda harus menemukan penyedia yang berfungsi tanpa SSL atau TLS, Untuk solusi saya, saya menggunakan dengan penyedia SendGrid.

Saya pikir penggunaannya sangat sangat sederhana.

Jadi, Anda harus mengatur penyedia

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

Daripada Anda harus membuat pesan dan mengirimkannya

EMailSender::EMailMessage pesan; message.subject = "Soggetto"; message.message = "Ciao datang staiio bene.

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

Serial.println("Status pengiriman: ");

Serial.println(resp.status);

Serial.println(resp.code); Serial.println(resp.desc);

Langkah 3: Hubungkan Keranjang SD ke Kelola Lampiran

Hubungkan Keranjang SD untuk Mengelola Lampiran
Hubungkan Keranjang SD untuk Mengelola Lampiran

Daripada mengirim lampiran Anda harus menghubungkan kartu SD seperti pada skema, jika Anda memerlukan informasi lebih lanjut tentang koneksi lihat artikel ini "Cara menggunakan kartu SD dengan esp8266, esp32 dan Arduino".

Langkah 4: Kirim Email Dengan Lampiran

Untuk mengirim email dengan lampiran, Anda harus menemukan penyedia yang mendukung fungsi itu, penyedia sendgrid saya tidak mendukung itu dan GMX penyedia yang saya gunakan untuk pengujian tidak lagi mendukung.

Tetapi jika Anda menemukan penyedia baru, Anda dapat menggunakan kode ini untuk melampirkan file.

EMailSender::FileDescriptior fileDescriptor[1]; fileDescriptor[0].namafile = 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::Lampiran dilampirkan = {1, fileDescriptor};

EMailSender::Respons resp = emailSend.send("[email protected]", pesan, lampirkan);

Langkah 5: Hasilnya

Hasil
Hasil

Di sini email dikirim dengan esp8266 dan penyedia GMail (untuk menggunakan GMail Anda harus menggunakan program eksternal).

Langkah 6: Perpustakaan

Anda dapat menemukan perpustakaan di GitHub

Dan Anda harus menanyakan fitur atau melaporkan bug di Forum

Dokumentasi tambahan di sini.

Direkomendasikan: