Media Belajar Bahasa Pemrograman | by APPKEY

PythonTutorial Python 35 : Kode Python Mengirim Email Otomatis

Tutorial Python 35 : Kode Python Mengirim Email Otomatis

-

Last Updated on July 2, 2022 by

Bagaimana cara mengirim email otomatis dengan Python? Yuk simak rincian kode Python mengirim email selengkapnya di sini!

Cara agar Python mengirim email otomatis adalah dengan mengaktifkan protol SMTP (Simple Mail Transfer Protocol). Protokol ini berfungsi mulai dari mengirim, mengatur pesan, hingga membentuk rute email di antara server-server pesan elektronik.

Python sendiri memiliki modul smtplib yang mendefinisikan sesi klien pada objek SMTP yang juga berperan untuk mengirim email ke sistem internet mana saja, plus dengan daemon pendengar SMTP atau ESMTP.

Berikut adalah contoh sintaksis sederhana untuk membuat objek SMTP, yang sekaligus mengaktivasi sistem Python mengirim email otomatis:

import smtplib

smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

Keterangan:

  • Host: Ini adalah host yang menjalankan server SMTP Anda. Anda dapat menentukan alamat IP host atau nama domain sendiri, contohnya seperti codekey.id. Poin ini bersifat opsional.
  • Port: jika Anda mencantumkan nama host, maka Anda wajib menentukan port sebagai wadah bagi server SMTP untuk mendengarkan perintah. Jenis port yang biasa dipakai adalah port 25.
  • Local_hostname: jika SMTP server Anda bekerja pada perangkat lokal, maka Anda bisa memilih opsi localhost pada fitur ini.

Objek SMTP memiliki metode instan yang disebut sendmail untuk mengirim pesan email otomatis. Lebih lanjut, metode ini tersusun atas tiga parameter penting:

  • Sender: string berisi alamat pengirim email.
  • Receivers: kumpulan string, yang mana masing-masing memuat alamat tujuan (penerima pesan).
  • Message: pesan (isi email) dalam format string yang ditentukan dalam berbagai RFC.
Artikel Terkait  Tutorial Python 14 : Cara Menggunakan Numpy Array

Contoh Skrip Kode Python Mengirim Email

Berikut adalah contoh skrip kode Python sederhana untuk mengirim email otomatis:

#!/usr/bin/python

import smtplib

sender = 'andi@gmail.com'
receivers = ['budi@gmail.com']

message = """From: From andi <andi@gmail.com>
To: To budi <budi@gmail.com>
Subject: test SMTP e-mail python

Ini contoh email.
"""

try:
   smtpObj = smtplib.SMTP('localhost')
   smtpObj.sendmail(sender, receivers, message)         
   print "Email berhasil terkirim"
except SMTPException:
   print "Error: gagal untuk mengirim email"

Kode di atas sudah memuat komponen dasar email dalam urutan yang benar. Agar dapat terkirim, maka email Anda membutuhkan header From, To, dan Subject yang dipisahkan dari isi pesan memakai satu baris kosong.

Kemudian kirimkan email memakai smtpObj agar Anda terhubung ke server SMTP di komputer local, lalu pakai metode sendmail bersama-sama dengan 3 komponen parameter yang telah dijelaskan tadi: sender, receiver, messages (catatan: From dan To biasanya sudah termasuk dalam e-mail itu sendiri, meski begitu, elemen tersebut tidak selalu dipakai untuk merutekan email).

Jika Anda tidak menjalankan server SMTP pada komputer lokal, sebagai gantinya gunakanlah klien smtplib untuk berkomunikasi dengan server SMTP jarak jauh. Kecuali Anda menggunakan layanan webmail (seperti Hotmail atau Yahoo! Mail), maka pihak penyedia pasti sudah memberikan informasi rincian server email, contohnya seperti berikut

smtplib.SMTP(‘andi.gmail.com’, 45)

Kode Python Mengirim Email dengan HTML

Ketika kita menjalankan kode Python mengirim email, maka semua isi konten di dalamnya akan diolah sebagai teks sederhana. Bahkan meskipun Anda memasukkan tags HTML, kode-kode tersebut akan tetap ditampilkan dalam bentuk teks biasa – bukan dalam format sintaksis HTML.

Akan tetapi Python menyediakan opsi sendiri untuk mengirimkan kode HTML sebagaimana aslinya (tanpa mengubah format). Cara tersebut adalah dengan menentukan versi Mime, tipe konten, beserta pengaturan karakter sebelum mengirim email.

Contoh Kode Python Mengirim Email HTML

Berikut adalah contoh koding email berisi tag HTML di Python:

#!/usr/bin/python

import smtplib

message = """From: From andi <andi@gmail.com>
To: To budi <budi@gmail.com>
MIME-Version: 1.0
Content-type: text/html
Subject: test SMTP e-mail python format HTML

Ini contoh email dengan format HTML

<h1>Ini adalah berita utama.</h1>
"""

try:
   smtpObj = smtplib.SMTP('localhost')
   smtpObj.sendmail(sender, receivers, message)         
   print "Email berhasil terkirim "
except SMTPException:
   print "Error: gagal untuk mengirim email "

Kode Python Mengirim Email dengan Lampiran

Terakhir ada rincian koding Python untuk mengirimkan email dengan lampiran. Di sini Anda perlu mengubah header Content-type menjadi multipart/mixed. Selanjutnya, tentukan masing-masing bagian teks dan lampiran email dengan boundaries.

Boundary diawali dengan dua tanda hubung ( – ) diikuti dengan serial angka unik yang tidak dapat muncul di bagian pesan email. Bagian akhir boundary juga ditandai dengan simbol yang sama untuk memperjelas bagian akhir dari pesan email Anda.

Lalu, file yang terlampir harus dikodekan dengan fungsi pack(“m”) agar mempunyai pengkodean base64 sebelum masuk ke proses transmisi.

Contoh Kode Python Mengirim Email dengan Lampiran

Berikut adalah contoh mengirim lampiran bernama /tmp/test.txt lewat email di Python:

#!/usr/bin/python

import smtplib
import base64

filename = "/tmp/document.txt"

fo = open(filename, "rb")
filecontent = fo.read()
encodedcontent = base64.b64encode(filecontent) 

sender = 'andi@gmail.com'
reciever = 'budi@gmail.com'

marker = "AUNIQUEMARKER"

body ="""
Ini contoh email dengan berkas.
"""

part1 = """From: From andi <andi@gmail.com>
To: To budi <budi@gmail.com>
Subject: test SMTP e-mail python dengan berkas
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=%s
--%s
""" % (marker, marker)

part2 = """Content-Type: text/plain
Content-Transfer-Encoding:8bit

%s
--%s
""" % (body,marker)

part3 = """Content-Type: multipart/mixed; name=\"%s\"
Content-Transfer-Encoding:base64
Content-Disposition: attachment; filename=%s

%s
--%s--
""" %(filename, filename, encodedcontent, marker)
message = part1 + part2 + part3

try:
   smtpObj = smtplib.SMTP('localhost')
   smtpObj.sendmail(sender, reciever, message)
   print "Email berhasil terkirim"
except Exception:
   print "Error: gagal untuk mengirim email"

Demikianlah panduan kode-kode Python untuk mengirim email secara otomatis. Semoga ulasan di atas dapat menambah wawasan Anda, ya.

Yuk temukan lebih banyak tutorial coding gratis hanya dari CODEKEY. Baca kumpulan artikelnya setiap hari di https://codekey.id/. Sampai bertemu lagi!


Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.

Jasa Pembuatan Aplikasi

Jasa Pembuatan Website

Jasa Pembuatan Paket Aplikasi

Jasa Pembuatan Internet Marketing

Tutorial

Subscribe Sekarang

Dapatkan beragam informasi menarik tentang bahasa pemrograman langsung melalui email Anda. Subscribe sekarang dan terus belajar bersama kami!

Blog Post Ranking 10

Tutorial PHP 22 : Cara Membuat Redirect PHP dengan Cepat dan Mudah

Jika Anda melakukan browsing di browser kesayangan Anda, mungkin Anda pernah melihat link yang berisikan “php redirect” atau yang...

Tutorial PHP 23 : Cara Membuat Messages Alert PHP

Alert box atau alert messages digunakan di situs web untuk menampilkan pesan peringatan kepada pengguna bahwa mereka telah memasukkan...

Tutorial PHP 2 : Cara Install PHP, Langkah Awal Belajar PHP

PHP adalah bahasa pemrograman gratis dan open source. Secara teknis tidak perlu menginstal PHP: sebagian besar host web dan...

Tutorial Python 9 : Cara Membuat Looping Python

Pada artikel sebelumnya, Codekey telah menjelaskan tentang Operasi Kondisional Python yang di dalamnya menyinggung tentang percabangan dan perulangan. Belajar...

Tutorial HTML/CSS 23 : Cara Membuat Form Sederhana dengan HTML

Form memiliki peran yang sangat krusial bagi website atau aplikasi untuk menjaga sistem keamanannya. Form HTML digunakan untuk mengumpulkan...

Tutorial SQL 8 : Constraint SQL, Bagaimana Fungsi dan Penggunaannya?

Pada artikel sebelumnya Anda telah mempelajari tentang wildcard SQL, pada artikel kali ini kami akan menjelaskan tentang constraint SQL. Jika...

Tutorial Javascript 8 : Array Javascript, Panduan Lengkap Cara Membuatnya

Seperti bahasa pemrograman yang berorientasi objek lainnya, dalam JavaScript juga terdapat array. Jika Anda memiliki banyak objek yang ingin...

Tutorial SQL 20 : Mari Pelajari Cara Menggunakan Fungsi GROUP by SQL

Pada pembahasan seri Tutorial SQL ke- 20 ini, Codekey akan membahas tentang GROUP BY yang merupakan statement di dalam...

Tutorial Python 7 : Python String Format dan Cara Mudahnya

Anda ingin belajar Python dan ingin menjadi ahli dalam bahasa pemrograman Python? Mari belajar bersama Codekey! Pada pembahasan kali...

Tutorial Python 8 : Langkah Mudah Membuat Operasi Kondisional pada Python

Pada pembahasan sebelumnya, Codekey telah menjelaskan kepada Anda tentang pengoperasian string pada Python mulai dari menggabungkan hingga memanipulasi string...

Bisnis

Online Service

Peluang Bisnis

Model Bisnis

Entrepreneurship

Uang

Ketrampilan

Outsourcing

Monetize

Pemasaran

SEO

Internet Marketing

Dasar Pemasaran

Strategi Pemasaran

Situs Web Analitik

Iklan

Teknologi

Teknologi Terbaru

AI

Komputer

Jaringan

Paling Sering dibaca
Mungkin Anda Menyukainya