Mengirimkan Email Dengan Script Python

Mengirimkan Email Dengan Script Python

Assalamualaikum, Pada kesempatan kali ini kita akan belajar mengirimkan email dengan script python. Dimana python sendiri memiliki library smtplib yang dapat digunakan untuk mengirimkan email. Penggunaan library smtplib didasarkan pada SMTP (Simple Mail Transport Protocol). SMTP digunakan untuk dapat mengirimkan email kepada orang lain dengan menggunakan script python.

Baca Juga: Panduan Belajar Python

Keamanan Email

Keamanan email tentunya mengacu pada suatu tindakan kolektif yang digunakan untuk mengamankan akses dan juga konten akun emaul atau layanan. Ini tentunya dapat memungkinkan seseorang atau suatu organisasi untuk melindungi akses dari kesuluruhan kepada satu atau lebih alamat email/akun.

Dari sudut pandang individu atau pengguna akhir, langkah-langkah dari email proaktif meliputi:

  • Strong Passwords
  • Password Rotations
  • Spam Filters
  • Desktop-based anti-virus/anti-spam applications

Demikian penyedian layanan memastikan keamanan email dengan menggunakan kata sandi yang kuat dan mekanisme kontrol akses pada server email. Mengenkripsi serta mendatangani pesan email secara digital saat berada didalam kotak masuk atau dalam perjalanan ke ataupun dari alamat email pelanggan. Itu tentunya mengimplementasikan aplikasi penyaring dari spam yang berbasiskan firewall dan perangkat lunak untuk membatasi pengiriman pesan yang tidak disetujui atau tidak diminta, tidak dapat dipercaya, dan dapat berbahaya bagi pengiriman ke kotak masuk pengguna.

Mengirim Email dengan Script Python

Untuk dapat mengirimkan email menggunakan script python tentunya kita harus masuk kedalam pengaturan akun gmail maka kita akan diarahkan pada halaman berikut yang berisikan menu-menu pengaturan. Selanjutnya silahkan pilih menu keamanan dan scroll kebawah sampai menemukan bagian Akses Aplikasi yang kurang aman.

Keamanan

Ketika sudah berhasil masuk selanjutnya yaitu mengaktifkan tombol izinkan aplikasi yang kurang aman.

Aktifkan

Selanjutnya kita akan bahas pengenai script yang digunakan untuk mengirimkan email dengan menggunakan python.

Basic Kode Script Email Python

import smtplib

server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
server.login("username","password")
server.sendmail(
    "email_pengirim@address.com",
    "email_tujuan@address.com",
    "pesan yang akan dikirim")
server.quit()  

Modul smtplib python mendefinisikan objek klien SMTP yang dapat digunakan untuk mengirimkan email kepada mesin apa pun yang menjalankan server SMTP.

server = smtplib.SMTP('smtp.gmail.com', 587)
  • Pada baris diatas membuat objek klien SMTP (disimpan dalam variabel server).
  • Kalian dapat menggunakan smtplib.SMTP atau smtplib.SMTP_SSL untuk membuat suatu objek klien.
  • Alamat server SMTP, ini merupakan alamat IP ataupun nama domain dari mesin yang menajankan server SMTP. Untuk gmail, alamat tersebut yaitu smtp.gmail.com
server.login("username","password")
  • Method yang mengontentikasi dengan email server
  • gmail membutuhkan otentikasi. Jika kita mengirimkan email tanpa melakukan authentikasi terlebih dahulu, maka server gmail akan mengembalikan kesalahan otentikasi.
server.sendmail(
     "pengirimin@gmail.com",
     "penerima@gmail.com",
     "pesan yang akan dikirimkan")

Objek smtp sendiri memiliki metode lain yang disebut sendmaul yang pada dasarnya meminta data pada server SMTP untuk dapat mengirimkan email. Dibutuhkan alamat emaul sumber, alamat email yang dituju dan juga konten pesan yang akan dikirimkan.

server.quit()

Perintah quit digunakan untuk memutuskan koneksi yang terjadi antara klien dan juga server SMTP.

1. Mengirimkan Email

Berikut merupakan script pada praktikum 1 yang digunakan untuk mengirimkan pesan teks biasa

from email.mime import text
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

#Alamat Email Pengirim
fromaddr = "muhammadrizalsupriadi@gmail.com"

#Alamat Email Penerima
toaddr = "mrsupriadi2000@gmail.com"

msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "1194059_Muhammad Rizal Supriadi_PercobaanEmail1"

body = "Percobaan Email Basic 1194059_Muhammad Rizal Supriadi"
msg.attach(MIMEText(body, 'plain'))

server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "********")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()

Selanjutnya silahkan coba running atau jalankan script tersebut, maka hasil yang diperoleh akan seperti berikut:

Contoh1

Didalam hasil diatas, kita sudah berhasil menjalankan script python dan mengirimkan email kepada emau yang kita tuju.

2. Mengirim Email dengan File

Berikut merupakan script yang digunakan pada mengirimkan email dengan file dimana terdapat penambahan attach yang digunakan untuk menyisipkan atau mengirimkan file kedalam pesan dari email yang dikirim.

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

fromaddr = "muhammadrizalsupriadi@gmail.com"
toaddr = "mrsupriadi2000@gmail.com"

msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "1194059_Muhammad Rizal Supriadi_percobaanEmailAtch"

body = "Percobaan Email Atch 1194059_Muhammad Rizal Supriadi"
msg.attach(MIMEText(body, 'plain'))

# Lampiran, sesuaikan nama filename dengan nama di attacment
filename = 'D:\KULIAH\SEMESTER 5\Keamanan Sistem\Pertemuan 3\FileAtch.txt'
attachment = open(filename, 'rb')

part = MIMEBase('application', 'octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', "attachment; filename= %s" % filename)

msg.attach(part)

server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "*******")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()

Berikut merupakan hasil dari mengirimkan email dengan file dimana terlihat file sudah berhasil terkirim.

Contoh2

3. Mengirimkan Email dengan Inputan

Berikut merupakan script yang digunakan pada mengirimkan email dengan inputan, dimana pada praktikum 3 ini kita secara manual mengtikan email, password, email penerima, dan lain-lain pada cli atau command prompt.

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

gmailaddress = input("Masukan Alamat Email Anda \n")
gmailpassword = input("Masukan Password Email \n")
msg = MIMEMultipart()
mailto = input("Apa alamat email address yang akan dikirimkan pesan? \n")

msg['Subject'] = "1194059_Muhammad Rizal Supriadi_InputMail"

body = input("Apa pesan anda? \n")
msg.attach(MIMEText(body, 'plain'))

mailServer = smtplib.SMTP('smtp.gmail.com', 587)
mailServer.starttls()
mailServer.login('muhammadrizalsupriadi@gmail.com','*********')
text = msg.as_string()
mailServer.sendmail(gmailaddress, mailto, text)
print("\n Sent!")
mailServer.quit()

Berikut merupakan hasil dari mengirimkan email dengan inputan dimana hasil nya seperti pada praktikum 1 tatapi yang membedakan adalah kita menginputkan langsung pada command prompt mengenai alamat email maupun pesan yang akan dikirimkan.

Contoh 3

Kesimpulan

Kita sudah belajar mengenai cara untuk mengirimkan email menggunakan script python, dimana ini dilakukan untuk melakukan pengamanan terhadap pesan email yang kita kirimkan, pada script yang kita buat tadi, tentunya kita dapat mengirimkan pesan secara langsung dan menyipkan file ataupun kita dapat mengirimkan pesan dengan menggunakan inputan command prompt.

Semoga bermanfaat. Salam Success 🙂

By: Muhammad Rizal Supriadi

Leave a Comment

Your email address will not be published. Required fields are marked *