7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. Python

Mengirim Email di Python dengan SMTP

Scroll to top
Read Time: 7 mins

Indonesian (Bahasa Indonesia) translation by Bagus Aji Santoso (you can also view the original English article)

Tutorial ini akan mengenalkan SMTP, sebuah modul Python untuk mengirim email. Tutorial ini juga akan menunjukkan bagaimana mengirim tipe email yang berbeda seperti email teks sederhana, email dengan attachment, dan email dengan konten HTML.

Perkenalan SMTP

Simple Mail Transfer Protocol (SMTP) menangani proses pengiriman dan routing email antar mail server.

Di Python, modul smtplib menentukan objek client session SMTOP yang dapat dipakai untuk mengirim email ke mesin Internet manapun yang memiliki listener daemon SMTP atau ESMTP.

Begini bagaimana cara membuat objek SMTP.

Membuat dan Mengirim Email Sederhana

Skrip berikut ini akan memungkinkan kita untuk mengirim sebuah email lewat server SMTP Gmail. Namun, Google tidak akan memperbolehkan kita untuk melakukan login via smtplib karena teknik login ini sudah ditandai sebagai "teknik yang kurang aman".  Untuk mengatasi permasalahan ini, buka link https://www.google.com/settings/security/lesssecureapps setelah melakukan login ke akun Google anda, lalu klik "Allow less secure apps". Lihat tangkapan layar di bawah.

Create and Send a Simple EmailCreate and Send a Simple EmailCreate and Send a Simple Email

Kita akan mengikuti langkah-langkah berikut untuk mencapai tujuan kita:

  • Buat sebuah objek SMTP untuk membuat koneksi ke server.
  • Log in ke akun kita.
  • Tentukan header pesan dan infomasi login.
  • Buat sebuah objek pesan bertipe MIMEMultipart dan tambahkan header yang relevan misalnya From, To, dan Subject.
  • Tempelkan pesan ke objek MIMEMultipart.
  • Terakhir, kirim pesannya.

Proses sederhana ini dapat terlihat pada kode di bawah.

Perhatikan bahwa  alamat 'To' dan 'From' harus ditambahkan di header pesan secara eksplisit.

Membuat dan Mengirim Email dengan sebuah Attachment

Pada contoh ini, kita akan mengirim sebuah email dengan sebuah attachment gambar. Proses ini mirip dengan mengirim email sederhana.

  • Buat sebuah objek SMTP untuk koneksi ke server.
  • Log in ke akun kita. 
  • Tentukan header pesan dan informasi login. 
  • Buat objek pesan MIMEMultipart dan tambahkan header yang relevan misalnya From, TO, dan Subject.
  • Baca dan tambahkan gambar ke objek pesan MIMEMultipart.
  • Terakhir, kirim pesannya. 

Kelas MIMEImage adalah subclass dari MIMENonMultipart yang digunakan untuk membuat objek pesan MIME dengan tipe image. Kelas lain yang tersedia adalah:
MIMEMessage dan MIMEAudio.

Membuat dan Mengirim Email HTML

Hal pertama yang akan kita buat adalah membuat template email HTML-nya.

Membuat Sebuah Template HTML

Berikut kode HTML untuk template yang memiliki tabel dengan dua kolom dimana disetiap kolomnya memiliki sebuah gambar dan konten preview. Jika ingin menggunakan solusi profesional yang siap pakai, gunakan salah satu template email terbaik kami. Kami memiliki banyak opsi yang mudah untuk dipakai dan diatur ulang isinya sebagai template awal.

Template ini akan terlihat sebagai berikut setelah jadi:

The HTML TemplateThe HTML TemplateThe HTML Template

Di bawah ini merupakan skrip untuk mengirim sebuah email dengan konten HTML. Isi template tadi akan menjadi pesan email kita. 

Jalankan kode kita dan apabila tidak ada error yang muncul berarti email berhasil dikirim. Sekarang buka inbox dan seharusnya sudh ada email dengan konten HTML yang cantik. 

Formatted HTML emailFormatted HTML emailFormatted HTML email

Kesimpulan

Tutorial ini sudah membahas apa-apa saja yang dibutuhkan untuk mengirim email dari aplikasi yang kita buat.  Ada beberapa API yang tersedia untuk mengirim email sehingga kita tidak perlu membangun dari awal seperti SendGrid, tapi memahami dasar-dasarnya juga penting. Untuk informasi lebih lanjut kunjungi dokumentasi Python

Sebagai tambahan, jangan sungkan untuk melihat koleksi kami yang siap pakai di Envator Market, serta jangan malu untuk mengirimkan pertanyaan atau umpan balik melalui kolom di bawah ini. 

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.