Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
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
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
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
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
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.