Meskipun klien email komersial menawarkan kemudahan GUI yang ramah pengguna, mereka sering kekurangan fleksibilitas dan kemampuan penyesuaian yang diinginkan oleh banyak pengembang atau pembuat konten untuk email mereka kebutuhan.
Baik itu untuk mengirim email terima kasih ke pelanggan baru di saluran media sosial Anda atau menambahkan fungsi email ke proyek terbaru Anda, kemampuan untuk mengirim pesan otomatis menggunakan SMTP dengan Python adalah sesuatu yang pasti akan masuk 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 rangkaian TCP / IP, yang merupakan sekumpulan protokol yang digunakan untuk komunikasi melalui internet atau jaringan serupa lainnya. Dalam jaringan tempat 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 penyimpanan dan penerusan untuk memfasilitasi komunikasi antara server SMTP yang berpartisipasi. Oleh karena itu, peran utama SMTP hanyalah untuk mendikte di mana dan bagaimana email berpindah dari satu titik ke titik lainnya dalam suatu 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, kami akan menggunakan Gmail.
Anda juga dapat menggunakan server debugging SMTP lokal untuk mengirim email percobaan, 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, itu mungkin akan segera diisi dengan email uji. Inilah mengapa kami merekomendasikan membuat akun 'sekali pakai' untuk tujuan pengujian.
Sekarang, aktifkan opsi ke 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 pustaka smtp), 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 instance. Jadi, secara alami, langkah selanjutnya adalah mendeklarasikan sebuah instance objek.
mySMTP = smtplib. SMTP ("smtp.google.com")
Ini mengonfigurasi objek SMTP untuk mengirim email menggunakan server SMTP Google.
Setelah ini, kami menentukan email pengirim dan penerima. Di sinilah akun Gmail yang Anda buat sebelumnya berguna.
emailSender = “[email protected]”
myThroaway = "[email protected]"
emailRecipients = [myThroaway]
Satu hal yang perlu diperhatikan di sini adalah bahwa daftar penerima sebenarnya adalah sebuah larik, yang berarti bahwa daftar tersebut dirancang untuk menyimpan nilai non-atomik. Hasilnya, Anda bahkan dapat menentukan seluruh milis di bidang ini!
Menulis Pesan
Bisa dibilang sebagai bagian proses yang paling mudah, di sini Anda harus memasukkan nilai yang biasanya Anda tambahkan saat membuat email baru. Ini termasuk:
- Detail pengirim
- Detail penerima
- Subyek
- Badan Pesan
Bidang-bidang ini disatukan di dalam tanda petik tiga dan dibatasi sebagai berikut:
newEmail = Dari: Dari Orang
Kepada: Kepada Orang
Perihal: Tes Email
Ini adalah badan 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 program mogok.
Memecahkan Masalah Program Email Python Anda
Terkadang, server SMTP Anda mungkin gagal membuat sambungan dengan penerima, atau mungkin ada masalah dengan pengiriman email dari satu port SMTP ke port lain. Dalam kejadian seperti itu, program Anda mungkin macet secara tidak terduga.
Untuk memperhitungkan kemungkinan seperti itu, Anda dapat menggunakan file coba-kecuali memblokir dan meletakkan pernyataan rawan kesalahan di dalam mencoba blok. Seluruh program Anda, bersama dengan blok coba-kecuali, akan terlihat seperti ini:
import smtplib
emailSender = “[email protected]”
myThroaway = ‘[email protected]’
emailRecipients = [myThroaway]
newEmail = Dari: Dari Orang
Kepada: Kepada Orang
Perihal: Tes Email
Ini adalah badan email.
mencoba:
smtpObj = smtplib. SMTP (‘smtp.gmail.com’)
mySMTP.sendmail (emailSender, emailRecipients, newEmail)
print (“Email berhasil dikirim!”)
kecuali SMTPException:
print ("Kesalahan: Ada kesalahan dalam mengirim email Anda.")
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, ia dapat mengakses kredensial login Anda dan informasi yang terdapat 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 file ssl perpustakaan bersama dengan smtplib.dll. Itu ssl perpustakaan 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 cipher, versi protokol, sertifikat tepercaya, opsi TLS, dan ekstensi TLS.
Setelah ini, kita dapat menentukan port TLS dan menambahkan beberapa ssl perpustakaan berfungsi untuk membuat email yang aman.
Kode, dengan semua perubahan yang dilakukan, terlihat seperti ini:
import smtplib, ssl
smtpServer = "smtp.gmail.com"
port = 587
myEmail = "[email protected]"
password = "my_password"
#email dan kata sandi juga dapat menjadi bidang masukan pengguna
konteks = ssl.create_default_context ()
newEmail = Dari: Dari Orang
Kepada: Kepada Orang
Perihal: Tes Email
Ini adalah badan email.
mencoba:
server = smtplib. SMTP (smtpServer, port)
server.starttls (konteks = konteks)
server.login (email baru, kata sandi)
kecuali Pengecualian sebagai e:
print ("email tidak dapat dikirim.")
akhirnya:
server.quit ()
Seperti sebelumnya, Anda harus membuat dan menggunakan contoh SMTP di blok coba-kecuali untuk mencegah program tiba-tiba lumpuh.
Yang Dapat Anda Lakukan Dengan Skrip Python Ini
Sekarang setelah Anda mengambil keterampilan yang luar biasa dan sangat berguna untuk mengotomatiskan 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 hingga mengirim email pengakuan otomatis hingga menggunakannya untuk mengirim email ke kartu Natal atau undangan untuk keluarga dan teman Anda, penggunaan skrip Python kecil ini hanya dibatasi oleh Anda sendiri kreativitas.
Juga, ini hanyalah salah satu dari banyak hal luar biasa yang dapat Anda lakukan dengan Python. Dengan dukungan pengembang yang ada di mana-mana dan sintaks yang mudah dipelajari, mengambil keterampilan Python tidak pernah semudah ini.
Untuk terus membangun hal-hal keren dengan kode, lihat panduan kami tentang cara melakukannya buat bot Telegram Anda sendiri dengan Python 3!
Tingkatkan keterampilan pemrograman & pengembangan web Anda pada Python, Kecerdasan Buatan, Keras, PyTorch, dan banyak lagi
- Pemrograman
- Gmail
- Tips Email
- Python
- Otomatisasi Tugas
Yash adalah calon mahasiswa ilmu komputer yang suka membangun dan menulis tentang semua hal tentang teknologi. Di waktu luangnya, dia suka bermain Squash, membaca salinan Murakami terbaru, dan berburu naga di Skyrim.
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk mendapatkan tip teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Satu langkah lagi…!
Harap konfirmasi alamat email Anda di email yang baru saja kami kirimkan kepada Anda.