ESP32 Mengirim Email menggunakan Server SMTP : HTML, Teks, dan Lampiran (Arduino IDE)

Pelajari cara mengirim email dengan ESP32 menggunakan Server SMTP. Kami akan menunjukkan cara mengirim email sederhana dengan HTML atau teks mentah dan cara mengirim lampiran seperti gambar dan file (.txt). Board ESP32 akan diprogram menggunakan Arduino IDE.

Dalam tutorial ini, kami membahas topik-topik berikut :

    ESP32 Kirim Email (HTML dan teks mentah)

    ESP32 Mengirim Email dengan Lampiran (file gambar dan .txt)

Kami memiliki tutorial serupa untuk papan ESP8266: ESP8266 NodeMCU Kirim Email menggunakan Server SMTP: HTML, Teks, dan Lampiran (Arduino)

Memperkenalkan Server SMTP

SMTP berarti Simple Mail Transfer Protocol dan merupakan standar internet untuk transmisi email. Untuk mengirim email menggunakan ESP32, Anda harus menghubungkannya ke Server SMTP.

Pustaka Klien Email ESP

Untuk mengirim email dengan ESP32, kami akan menggunakan perpustakaan ESP-Mail-Client. Pustaka ini memungkinkan ESP32 untuk mengirim dan menerima email dengan atau tanpa lampiran melalui server SMTP dan IMAP.

Dalam tutorial ini, kami akan menggunakan SMTP untuk mengirim email dengan dan tanpa lampiran. Sebagai contoh, kami akan mengirim file gambar (.png) dan teks (.txt). File yang dikirim melalui email dapat disimpan di ESP32 Filesystem (SPIFFS) atau kartu microSD (tidak tercakup dalam tutorial ini).

Menginstal Perpustakaan ESP-Mail-Client

Sebelum melanjutkan dengan tutorial ini, Anda perlu menginstal pustaka ESP-Mail-Client. Perpustakaan ini tidak tersedia untuk diinstal melalui Manajer Perpustakaan Arduino IDE. Ikuti langkah-langkah selanjutnya untuk menginstal perpustakaan:

    Klik di sini untuk mengunduh folder .zip perpustakaan ESP-Mail-Client.

    • Di Arduino IDE Anda, buka Sketch > Include Library > Add .ZIP Library.

    • Pilih file .zip yang baru saja Anda unduh.

Kemudian, jika Anda pergi ke File > Examples > ESP-Mail-Client, Anda akan menemukan beberapa contoh yang bisa Anda coba. Anda juga dapat mengakses contoh di halaman perpustakaan GitHub—di sini.

Jika Anda menggunakan ESP32 dengan VS Code + PlatformIO, Anda harus menyalin yang berikut ke file platformio.ini untuk menyertakan library.

Email Pengirim (Akun Baru)

Sebaiknya buat akun email baru untuk mengirim email ke alamat email pribadi utama Anda. Jangan gunakan email pribadi utama Anda untuk mengirim email melalui ESP32. Jika ada yang salah dalam kode Anda atau jika Anda tidak sengaja membuat terlalu banyak permintaan, Anda dapat diblokir atau akun Anda dinonaktifkan untuk sementara.

Kami akan menggunakan akun Gmail.com yang baru dibuat untuk mengirim email, tetapi Anda dapat menggunakan penyedia email lainnya. Email penerima dapat menjadi email pribadi Anda tanpa masalah.

Buat Akun Email Pengirim

Buat akun email baru untuk mengirim email dengan ESP32. Jika Anda ingin menggunakan akun Gmail, buka tautan ini untuk membuat akun baru.

Buat Kata Sandi Aplikasi

Anda perlu membuat kata sandi aplikasi agar ESP32 dapat mengirim email menggunakan akun Gmail Anda. Sandi Aplikasi adalah kode sandi 16 digit yang memberikan izin aplikasi atau perangkat yang kurang aman untuk mengakses Akun Google Anda. Pelajari lebih lanjut tentang masuk dengan kata sandi aplikasi di sini.

Kata sandi aplikasi hanya dapat digunakan dengan akun yang mengaktifkan verifikasi 2 langkah.

    • Buka Akun Google Anda.

    • Di panel navigasi, pilih Keamanan.

    • Di bagian “Masuk ke Google”, pilih Verifikasi 2 Langkah > Mulai.

    • Ikuti langkah-langkah di layar.

Setelah mengaktifkan verifikasi 2 langkah, Anda dapat membuat kata sandi aplikasi.

    • Buka Akun Google Anda.

    • Di panel navigasi, pilih Keamanan.

    • Di bawah “Masuk ke Google”, pilih Kata Sandi Aplikasi.

    Di bidang Pilih aplikasi, pilih email. Untuk perangkat, pilih Lainnya dan beri nama, misalnya ESP32. Kemudian, klik Generate. Ini akan memunculkan jendela dengan kata sandi yang akan Anda gunakan dengan ESP32 atau ESP8266 untuk mengirim email. Simpan kata sandi itu (meskipun dikatakan Anda tidak perlu mengingatnya) karena Anda akan membutuhkannya nanti.

Sekarang, Anda harus memiliki kata sandi aplikasi yang akan Anda gunakan pada kode ESP32 untuk mengirim email.

Jika Anda menggunakan penyedia email lain, periksa apa yang perlu Anda lakukan untuk mengizinkan aplikasi yang kurang aman. Anda seharusnya dapat menemukan petunjuk dengan pencarian google cepat “penyedia_email_anda + izinkan aplikasi yang kurang aman”.

Pengaturan Server SMTP Gmail

Jika Anda menggunakan akun Gmail, berikut adalah detail Server SMTP :

    • Server SMTP: smtp.gmail.com

    • Nama pengguna SMTP: Alamat Gmail lengkap

    • Kata sandi SMTP: Kata sandi Gmail Anda

    • Port SMTP (TLS): 587

    • Port SMTP (SSL): 465

    • TLS/SSL SMTP diperlukan: ya

Pengaturan Server SMTP Outlook

Untuk akun Outlook, ini adalah pengaturan Server SMTP:

    • Server SMTP: smtp.office365.com

    • Nama Pengguna SMTP: Alamat email Outlook lengkap

    • Kata Sandi SMTP: Kata sandi Outlook Anda

    • Pelabuhan SMTP: 587

    • Diperlukan SMTP TLS/SSL: Ya

Pengaturan Server SMTP Live atau Hotmail

Untuk akun Live atau Hotmail, ini adalah pengaturan Server SMTP:

    • Server SMTP: smtp.live.com

    • Nama Pengguna SMTP: Alamat email Live/Hotmail Lengkap

    • Kata Sandi SMTP: Kata sandi Windows Live Hotmail Anda

    • Pelabuhan SMTP: 587

    • Diperlukan SMTP TLS/SSL: Ya

Jika Anda menggunakan penyedia email lain, Anda perlu mencari pengaturan Server SMTP-nya. Sekarang, Anda memiliki segalanya untuk mulai mengirim email dengan ESP32 Anda.

Kirim Email dengan HTML atau Teks Mentah dengan ESP32 (Arduino IDE)

Kode berikut mengirim email melalui SMTP Server dengan HTML atau teks mentah. Untuk tujuan demonstrasi, ESP32 mengirim email satu kali saat boot. Kemudian, Anda harus dapat memodifikasi kode dan mengintegrasikannya ke dalam proyek Anda sendiri.

Jangan mengunggah kodenya, Anda perlu melakukan beberapa modifikasi agar berfungsi untuk Anda.

Anda perlu memasukkan kredensial jaringan Anda serta mengatur email pengirim, detail Server SMTP, penerima, dan pesan.

Cara Kerja Kode

Kode ini diadaptasi dari contoh yang disediakan oleh perpustakaan. Contoh dikomentari dengan baik sehingga Anda memahami apa yang dilakukan setiap baris kode. Mari kita lihat bagian-bagian yang relevan yang Anda butuhkan atau mungkin perlu diubah.

Pertama, masukkan kredensial jaringan Anda di baris berikut :

Masukkan pengaturan server SMTP Anda. Jika Anda menggunakan akun Gmail untuk mengirim email, berikut adalah pengaturannya :

Masukkan kredensial masuk email pengirim (lengkapi email dan kata sandi aplikasi yang Anda buat sebelumnya

Masukkan email penerima :

Setel header pesan di baris berikut di setup()—nama pengirim, email pengirim, subjek email, serta nama dan email penerima :

Di baris berikut, atur konten pesan (teks mentah) dalam variabel textMsg :

Jika Anda ingin mengirim teks HTML, batalkan komentar pada baris berikut— Anda harus memasukkan teks HTML Anda ke dalam variabel htmlMsg.

Akhirnya, baris berikut mengirim pesan :

Demonstrasi

Unggah kode ke ESP32 Anda. Setelah mengunggah, buka Serial Monitor dengan baud rate 115200. Tekan tombol Reset ESP32.

Jika semuanya berjalan seperti yang diharapkan, Anda akan mendapatkan pesan serupa di Serial Monitor.

Periksa akun email Anda. Anda seharusnya telah menerima email dari papan ESP32 Anda.

Jika Anda menyetel opsi untuk mengirim pesan dengan teks HTML, seperti inilah tampilan pesannya:

Jika Anda telah mengaktifkan pesan teks mentah, ini adalah email yang harus Anda terima.

Kirim Lampiran melalui Email dengan ESP32 (Arduino IDE)

Di bagian ini, kami akan menunjukkan cara mengirim lampiran di email Anda yang dikirim oleh ESP32. Kami akan menunjukkan cara mengirim file atau gambar .txt. Ini dapat berguna untuk mengirim file .txt dengan pembacaan sensor dari beberapa jam terakhir atau untuk mengirim foto yang diambil oleh ESP32-CAM.

Untuk tutorial ini, file yang akan dikirim harus disimpan di sistem file ESP32 (SPIFFS).

Unggah file ke SPIFFS

Untuk mengirim file melalui email, ini harus disimpan di sistem file ESP32 (SPIFFS). Kami akan mengunggah gambar dan file .txt ke ESP32 SPIFFS menggunakan plugin ESP32 Filesystem Uploader untuk Arduino IDE. Ikuti tutorial selanjutnya untuk menginstal plugin jika Anda belum menginstalnya:

    Instal Pengunggah Sistem File ESP32 di Arduino IDE

Buat sketsa Arduino baru dan simpan. Buka Sketch > Show Sketch folder. Di dalam folder sketch Arduino, buat folder bernama data. Pindahkan file .jpg dan file .txt ke folder data Anda.

Catatan: dengan kode default, file Anda harus diberi nama image.png dan text_file.txt. Atau, Anda dapat memodifikasi kode untuk mengimpor file dengan nama yang berbeda.

Kami akan mengirimkan file-file ini :

Struktur folder Anda akan terlihat sebagai berikut (unduh folder proyek) :

Setelah memindahkan file ke folder data, di Arduino IDE Anda, buka Tools > ESP32 SKetch Data Upload dan tunggu file diunggah.

Anda harus mendapatkan pesan sukses di jendela debugging. Jika file berhasil diunggah, lanjutkan ke bagian berikutnya.

Catatan: jika Anda mulai melihat banyak titik ….____…..____ sedang dicetak pada jendela debugging, Anda perlu menahan tombol BOOT on-board ESP32 untuk file yang akan diunggah.

Kode

Kode berikut mengirim email dengan file .txt dan gambar terlampir. Sebelum mengunggah kode, pastikan Anda memasukkan pengaturan email pengirim dan email penerima Anda.

Cara kerja kode

Kode ini sangat mirip dengan yang sebelumnya, jadi kami hanya akan melihat bagian yang relevan untuk mengirim lampiran.

Di setup(), Anda perlu menginisialisasi SPIFFS:

Anda perlu membuat lampiran sebagai berikut:

Kemudian, tambahkan detail lampiran: nama file, tipe MIME, jalur file, tipe penyimpanan file, dan penyandian transfer. Di baris berikut, kami mengirim file gambar.

Terakhir, tambahkan lampiran ke pesan:

Jika Anda ingin mengirim lebih banyak lampiran, Anda perlu menghubungi saluran berikut sebelum menambahkan lampiran berikutnya:

Kemudian, masukkan detail lampiran lainnya (file teks):

Dan tambahkan lampiran ini ke pesan:

Terakhir, Anda hanya perlu mengirim pesan seperti yang Anda lakukan dengan contoh sebelumnya:

Demonstrasi

Setelah mengupload kode, buka Serial Monitor pada baud rate 115200 dan tekan tombol EN/RESET on-board. Jika semuanya berjalan lancar, Anda akan mendapatkan pesan serupa di Serial Monitor.

Periksa alamat email penerima. Anda harus memiliki email baru dengan dua lampiran.

Membungkus

Dalam tutorial ini Anda telah belajar cara mengirim email dengan ESP32 menggunakan Server SMTP. Agar metode ini berfungsi, ESP32 harus memiliki akses ke internet.

Jika Anda tidak ingin menggunakan Server SMTP, Anda juga dapat menulis skrip PHPuntuk mengirim pemberitahuan email dengan papan ESP32 atau ESP8266.

Anda telah belajar cara mengirim email sederhana dengan teks dan lampiran. Saat menggunakan lampiran, ini harus disimpan di sistem file ESP32 (SPIFFS) atau di kartu microSD (tidak tercakup dalam tutorial ini).

Contoh yang disajikan menunjukkan cara mengirim satu email saat ESP32 melakukan booting. Idenya adalah untuk memodifikasi kode dan memasukkannya ke dalam proyek Anda sendiri. Misalnya, mengirim file .txt dengan pembacaan sensor dapat berguna, mengirim foto yang diambil dengan ESP32-CAM, menggunakan tidur nyenyak untuk membangunkan papan Anda setiap jam dan mengirim email berisi data, dll.

Kami harap Anda menemukan tutorial ini menarik.

Untuk mempelajari lebih lanjut tentang ESP32, lihat sumber daya kami:

    Belajar ESP32 dengan Arduino IDE

    Bangun Server Web dengan eBook ESP32 dan ESP8266

    Pemrograman MicroPython dengan ESP32 dan ESP8266

    Sumber daya ESP32 lainnya…

 Sumber : randomnerdtutorials.com

Posting Komentar

0 Komentar