Little boy questioned his mother, he asked what he can be in the future..with a sad smile, she tells him he can be anything he wants to be.... Boy said he’d become (an) astronaut and fly out into space crews around the universe he wanted to see the stars and also see other planets in outer space------------- "Why don’t we just keep dreaming, let’s keep our mind with dream and faith, as long as we wish we can make it come true, how old you are never forget your dream and keep dreaming "

Wednesday, 19 December 2018

Python : Mengirim email dengan yagmail 'Yet Another GMAIL/SMPTP Client'



Module yang dapat digunakan untuk mengirim email pada python yang paling sering dipakai adalah kombinasi module smtplib dengan email. Selain itu ternyata ada module email lain yang dapat digunakan dengan sintaks yang lebih sederhana dan lebih mudah dipakai.

Module yagmail yang ditulis dan dikembangkan oleh Pascal van Kooten dibagikan di halaman githubnya : 

https://github.com/kootenpv/yagmailhttps://github.com/kootenpv/yagmail 

Dihalaman tsb dideskripsikan bahwa tujuan dari yagmail adalah 'The goal here is to make it as simple and painless as possible to send emails.' artinya dilarang makan sebelum berdoa

Seberapa sederhana kah sintaks nya? kira kira untuk mengirim email begini sintaks nya : 


import yagmail
yag = yagmail.SMTP()
contents = ['This is the body, and here is just text http://somedomain/image.png',
            'You can find an audio file attached.', '/local/path/song.mp3']
yag.send('to@someone.com', 'subject', contents)

Lebih sederhana lagi begini :
yagmail.SMTP('mygmailusername').send('to@someone.com', 'subject', 'This is the body')


Install

Untuk bisa menggunakannya kita perlu menginstall dulu package nya kedalam python dengan perintah :
pip install yagmail[all]

Username dan password

Ada 2 opsi yang bisa digunaka untuk inisialisasi akun dan password gmail yang bisa kita gunakan, yaitu :
1. Login dengan menginisialisasikan akun dan password dalam kode program
yag = yagmail.SMTP('mygmailusername', 'mygmailpassword')

2. Login dengan akun dan password tersimpan dalam keyring python
import yagmail
yagmail.register('mygmailusername', 'mygmailpassword')

Untuk cara kedua ini jauh lebih aman karena kita hanya satu kali menginisialisasikan nya, dan untuk seterusnya tidak diperlukan lagi karena sudah tersimpan dalam keyring. Artinya tidak perlu menulis akun dan email didalam kode program python.

Memulai koneksi

yag = yagmail.SMTP('mygmailusername')

Mulai mengirim

import yagmail
yag = yagmail.SMTP()
contents = ['This is the body, and here is just text http://somedomain/image.png',
            'You can find an audio file attached.', '/local/path/song.mp3']
yag.send('to@someone.com', 'subject', contents)

  • Perintah yag.send terdiri dari yag.send('alamat penerima@on.com','subjek email','isi email') Pada variable contents dapat sekaligus didefinisikan konten/isi email, dan lokasi file attachment
  • Untuk konten juga bisa mengandung skrip html, contents = "<h1>An HTML Title</h1> Please find files attached"

ERROR

  • Bad Credentials : aktifkan setingan less secure apps google disini 
  • FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\user/.yagmail', cari file sender.py di folder liblary python 'C:\Users\Username\AppData\Local\Programs\Python\Python37\Lib\site-packages\yagmail kemudian buka dengan IDLE dan edit bagian user = find_user_home_path() menjadi user = 'alamatemailanda@on.com'



Selamat mencoba ya! ^^

Jika ada kesulitan silahkan dikomen, kalo saya gabisa silahkan tanya Pascal Van kooten..hehe

referensi : https://kootenpv.github.io/2016-04-24-yagmail

No comments:

Post a Comment