Mengirim Banyak Email E-Certificate

Menggunakan Library Lain

simple-gmail

Selain menggunakan library dari Google, di internet banyak tersedia library Gmail yang dapat digunakan. Salah satu yang menurut penulis menarik adalah simple-gmail.

Library simple-gmail ini lebih sederhana penggunaannya, setidaknya ketimbang library dari Google. Selain itu ada beberapa kelebihan lain, yaitu:

  • Relatif (lebih) mudah digunakan
  • Dapat mengirim email dalam bentuk html

Instalasi

Dilakukan melalui perintah ini pada command prompt/console/terminal.

pip install simplegmail

Credential

Kita dapat mendaur ulang berkas credentials.json yang kita dapatkan sebelumnya. Yang perlu dilakukan hanya merubah namanya menjadi client_secret.json.


Sending an Email

Simple Email

Kita akan coba mengirim email, hanya teks dan subyeknya. Gunakan kode di bawah ini dan beri nama coba_simplegmail.py

from simplegmail import Gmail

gmail = Gmail()

params = {
  "to": "
        
            ba********@gm***.com
            
                
                
                
            
            
                
                
                
            
        
",
  "sender": "
        
            ba**********@gm***.com
            
                
                
                
            
            
                
                
                
            
        
",
  "subject": "Simplegmail Subyek",
  "msg_html": "<h1>Halo Dunia!</h1><br />Akhirnya berhasil.",
  "msg_plain": "Halo Dunia\nEmail ini dikirim menggunakan simplegmail."
}
message = gmail.send_message(**params)

Seperti terlihat, pesan yang dikirimkan dalam format html. Kita akan lihat bagaimana hasilnya saat ditampilkan dalam inbox. Jalankan kode di atas.

The Auth Ritual

Sama seperti menggunakan library dari Google, kita akan mendapatkan pertanyaan yang sama. Kita jawab dengan cara yang sama, Pilih Akun > Avanced > Go to Quickstart (unsafe).

Library simple-gmail telah menetapkan hak akses yang diperlukan, yaitu Manage basic settings dan View and Modify email. Seperti biasa, klik Allow untuk tiap pertanyaan.

Proses pemberian hak akses sukses jika kita mendapat pesan seperti di bawah ini.

Email sent

Seperti terlihat di inbox, pesan dalam bentuk html akan tertampil seperti ini. Bisa mengirim pesan dengan format html tentu dapat menjadi keuntungan karena secara visual dapat dibuat lebih menarik.


Email with attachment(s)

Yang mudah lagi dilakukan menggunakan simple-gmail adalah melampirkan berkas dalam email.

Berkas

Kita akan melampirkan tiga berkas di bawah ini dalam email yang dikirimkan.

The code

Simpan kode di bawah ini dengan nama lampiran_simplegmail.py.

from simplegmail import Gmail

gmail = Gmail()

params = {
  "to": "
        
            ba********@gm***.com
            
                
                
                
            
            
                
                
                
            
        
",
  "sender": "
        
            ba**********@gm***.com
            
                
                
                
            
            
                
                
                
            
        
",
  "subject": "Simplegmail Subyek dengan Lampiran",
  "msg_html": "<h1>Halo Peserta!</h1><br />Terlampir sertifikat kegiatan.",
  "msg_plain": "Halo Peserta\nTerlampir sertifikat kegiatan.",
  "attachments": ["sertifikat.png", "membaca_gelagat_zaman.pdf", "membaca_gelagat_zaman.pptx"]
}
message = gmail.send_message(**params)

Kode di atas memanfaatkan parameter attachments yang diisi alamat/nama berkas yang akan dikirimkan. Untuk parameter lain yang dapat digunakan, sila merujuk pada contoh yang diberikan oleh simple-gmail.

Check your email

Jalankan kode di atas menggunakan perintah ini di command prompt/console/terminal.

python lampiran_simplegmail.py

Kali ini lebih mudah karena kita telah memberikan otorisasi sehingga tidak lagi ada pertanyaan-pertanyaan yang perlu dijawab.

Jika kode selesai dieksekusi, begini kurang lebih tampilan pada inbox.


Referensi

Leave a Reply

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