Cara Mengirim Pesan Email Otomatis dengan Python

Cara Mengirim Pesan Email Otomatis dengan Python

Sementara klien email komersial menawarkan kenyamanan GUI yang mudah digunakan, mereka sering kekurangan fleksibilitas dan kemampuan penyesuaian yang diinginkan oleh banyak pengembang atau pembuat konten untuk kebutuhan email mereka.





Baik itu untuk mengirim email terima kasih ke pelanggan baru di saluran media sosial Anda atau menambahkan fungsionalitas email ke proyek terbaru Anda, kemampuan untuk mengirim pesan otomatis menggunakan SMTP dengan Python adalah sesuatu yang pasti akan berguna.





Baca terus untuk mengetahui bagaimana Anda bisa mendapatkan skrip Python untuk mengirim email yang berjalan di mesin Anda hari ini.





Apa itu SMTP?

Sederhananya, SMTP, atau Simple Mail Transfer Protocol, adalah protokol komunikasi untuk server email untuk mengirimkan email melalui internet.

Ini adalah bagian integral dari lapisan aplikasi suite TCP/IP, yang merupakan seperangkat protokol yang digunakan untuk komunikasi melalui internet atau jaringan serupa lainnya. Dalam jaringan di mana SMTP diimplementasikan, proses yang dikenal sebagai: Simpan dan teruskan membantu memindahkan email melintasi jaringan.



Di setiap titik akhir, perangkat lunak yang dikenal sebagai Mail Transfer Agent (MTA) menggunakan store and forward untuk memfasilitasi komunikasi antara server SMTP yang berpartisipasi. Peran utama SMTP, oleh karena itu, hanya untuk mendikte di mana dan bagaimana surat berpindah dari satu titik ke titik lain dalam jaringan.

Mulai

Anda harus memiliki akun email yang akan digunakan untuk mengirim email menggunakan program ini. Ini karena kami akan menggunakan layanan SMTP klien email untuk mengirim email. Untuk tutorial ini, kita akan menggunakan Gmail.





Anda juga dapat menggunakan server debug SMTP lokal untuk mengirim email pengujian, tetapi untuk saat ini kami akan menggunakan akun email untuk mengirim email karena lebih intuitif.

Dimungkinkan untuk hanya menggunakan akun Gmail yang ada, tetapi saat Anda bermain-main dengan program Anda, mungkin akan segera diisi dengan email percobaan. Inilah mengapa kami menyarankan untuk membuat akun 'sekali pakai' untuk tujuan pengujian.





Sekarang, aktifkan opsi untuk izinkan aplikasi yang kurang aman untuk mengakses akun Gmail Anda. Ini adalah alasan lain untuk menggunakan email sekali pakai karena tidak disarankan untuk bermain-main dengan pengaturan privasi email utama Anda.

Menulis Email dengan Python

Python 3 sudah diinstal sebelumnya dengan modul yang disebut smtplib (kependekan dari smtp library), yang dapat digunakan untuk bekerja dengan server SMTP.

Seperti modul Python lainnya, hal pertama yang harus Anda lakukan adalah mengimpor smtplib.

import smtplib

Menginisialisasi Objek SMTP

Sekarang, Anda dapat menggunakan smtplib untuk membuat objek SMTP, yang akan memberi Anda sebagian besar fungsionalitas klien email konvensional. Namun, fungsi objek SMTP hanya dapat digunakan melalui metode instan. Jadi, tentu saja, langkah selanjutnya adalah mendeklarasikan instance objek.

mySMTP = smtplib.SMTP('smtp.google.com')

Ini mengonfigurasi objek SMTP untuk mengirim email menggunakan server SMTP Google.

Setelah ini, kami menentukan pengirim dan penerima email. Di sinilah akun Gmail yang Anda buat sebelumnya berguna.

emailSender = senderMail@sender.com
myThroaway = 'myEmail@gmail.com'
emailRecipients = [myThroaway]

Satu hal yang perlu diperhatikan di sini adalah bahwa daftar penerima sebenarnya adalah sebuah array, yang berarti bahwa daftar tersebut dirancang untuk menyimpan nilai-nilai non-atomik. Akibatnya, Anda bahkan dapat menentukan seluruh milis di bidang ini!

Menulis Pesan

Bisa dibilang bagian paling mudah dari proses, di sini Anda harus memasukkan nilai yang biasanya Anda tambahkan saat menulis email baru. Ini termasuk:

  • Detail pengirim
  • Detail penerima
  • Subjek
  • Badan Pesan

Bidang-bidang ini disatukan di dalam tanda kutip tiga dan dibatasi sebagai berikut:

cara mengganti icon windows 10
newEmail = '''From: From Person
To: To Person
Subject: Email Test
This is the body of the email.
'''

Mengirim Email

Terakhir, kita dapat menggunakan perintah sendmail untuk mengirim email dari server SMTP Anda ke server penerima.

mySMTP.sendmail(emailSender, emailRecipients, newEmail)

Sekarang, hanya ada satu langkah terakhir: mengatur ulang kode untuk mencegah crash program yang dapat diperkirakan.

Memecahkan Masalah Program Email Python Anda

Terkadang, server SMTP Anda mungkin gagal membuat koneksi dengan penerima, atau mungkin ada masalah dengan pengiriman email dari satu port SMTP ke port SMTP lainnya. Dalam kejadian seperti itu, program Anda mungkin macet secara tidak terduga.

Untuk memperhitungkan kemungkinan seperti itu, Anda dapat menggunakan coba-kecuali blokir dan letakkan pernyataan rawan kesalahan di dalam mencoba memblokir. Seluruh program Anda, bersama dengan blok try-except, akan terlihat seperti ini:

import smtplib
emailSender = senderMail@sender.com
myThroaway = ‘my_email@gmail.com’
emailRecipients = [myThroaway]
newEmail = '''From: From Person
To: To Person
Subject: Email Test
This is the body of the email.
'''
try:
smtpObj = smtplib.SMTP(‘smtp.gmail.com’)
mySMTP.sendmail(emailSender, emailRecipients, newEmail)
print (Email sent successfully!)
except SMTPException:
print ('Error: There was an error in sending your email.')

Mengamankan Email Anda

Jika Anda bermaksud menggunakan Python dalam pengaturan dunia nyata untuk mengirim email, penting untuk memastikan bahwa komunikasi aman di kedua ujungnya.

Menggunakan server SMTP sederhana dengan port default tidak menyediakan lapisan enkripsi apa pun untuk komunikasi. Ini berarti bahwa jika ada pihak ketiga yang mendengarkan di jaringan Anda, itu dapat mengakses kredensial login Anda dan informasi yang terkandung dalam email Anda.

Salah satu cara untuk menghindari masalah ini adalah dengan menggunakan protokol TLS (Transport Layer Security) untuk mengenkripsi komunikasi Anda. Ini adalah protokol yang sama yang digunakan oleh klien email utama seperti Gmail dan Outlook untuk memastikan bahwa email Anda tidak pernah jatuh ke tangan yang salah.

Untuk melakukannya, kita perlu membuat beberapa perubahan kecil pada program yang kita buat sebelumnya.

Langkah pertama, tentu saja, adalah mengimpor ssl perpustakaan bersama dengan smtplib . NS ssl library memberi Anda kemampuan untuk membuat konteks SSL yang aman dan berkomunikasi melalui jaringan terenkripsi dengan menghubungkan ke port tertentu di kedua ujungnya.

Konteks SSL yang aman tidak lain adalah kumpulan sandi, versi protokol, sertifikat tepercaya, opsi TLS, dan ekstensi TLS.

Setelah ini, kita dapat menentukan port TLS dan menambahkan beberapa ssl library berfungsi untuk membuat emailer yang aman.

Kode, dengan semua perubahan yang dibuat, terlihat seperti ini:

import smtplib, ssl
smtpServer = 'smtp.gmail.com'
port = 587
myEmail = 'my_email@gmail.com'
password = 'my_password'
#email and password can also be user input fields
context = ssl.create_default_context()
newEmail = '''From: From Person
To: To Person
Subject: Email Test
This is the body of the email.
'''
try:
server = smtplib.SMTP(smtpServer,port)
server.starttls(context=context)
server.login(newEmail, password)
except Exception as e:
print('the email could not be sent.')
finally:
server.quit()

Seperti sebelumnya, Anda harus membuat dan menggunakan instance SMTP di blok try-except untuk mencegah crash program yang tiba-tiba.

cara mengetahui kata sandi wifi di hp

Apa yang Dapat Anda Lakukan Dengan Script Python Ini

Sekarang setelah Anda mempelajari keterampilan yang luar biasa dan sangat berguna untuk mengotomatisasi email menggunakan kode, Anda dapat menerapkannya ke platform apa pun yang memerlukan pengiriman email ke milis yang beragam.

Dari menggunakannya di situs web pribadi Anda untuk mengirim email pengakuan otomatis hingga menggunakannya untuk mengirim email kartu Natal atau undangan ke keluarga dan teman Anda, penggunaan skrip Python kecil ini hanya dibatasi oleh kreativitas Anda sendiri.

Juga, ini hanyalah salah satu dari banyak hal luar biasa yang dapat Anda lakukan dengan Python. Dengan dukungan pengembang di mana-mana dan sintaks yang mudah dipelajari, mempelajari keterampilan Python tidak pernah semudah ini.

Untuk terus membangun hal-hal keren dengan kode, lihat panduan kami tentang cara buat bot Telegram Anda sendiri dengan Python 3 !

Membagikan Membagikan Menciak Surel Cara Meningkatkan Keterampilan Python dan AI Anda dengan Keras, Pytorch, Tensorflow, dan Lainnya

Tingkatkan keterampilan pemrograman & pengembangan web Anda dengan Python, Kecerdasan Buatan, Keras, PyTorch, dan banyak lagi

Baca Selanjutnya
Topik-topik yang berkaitan
  • Pemrograman
  • Gmail
  • Kiat Email
  • Python
  • Otomatisasi Tugas
Tentang Penulis Yash Chellani(10 Artikel Diterbitkan)

Yash adalah calon mahasiswa ilmu komputer yang suka membangun sesuatu dan menulis tentang segala hal tentang teknologi. Di waktu luangnya, dia suka bermain Squash, membaca salinan Murakami terbaru, dan berburu naga di Skyrim.

More From Yash Chellani

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan