Mailgun : Email Template Dengan Python

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
Mailgun : Email Template Dengan Python

Saat Anda membangun sebuah aplikasi yang terhubung dengan user, misal seperti halaman registrasi yang membutuhkan notifikasi email.

Email tersebut bisa berisi beragam infomasi seperti link verifikasi user, info terkait kebijakan privasi dan lain sebagainya.

Terkait dengan ini tentunya kita membutuhkan infrastruktur email sender yang handal agar pesan yang ingin kita sampaikan ke user sampai dalam hitungan detik.

Mailgun menghadirkan solusi mail sender yang mendukung berbagai bahasa program diantaranya :


  • curl

  • Ruby

  • Python

  • Java

  • C#

  • Go

  • etc


Untuk bisa menggunakan fitur mail sender dari mailgun, Anda bisa melakukan registrasi terlebih dahulu di mailgun register.

Setelah terverifikasi, Anda akan mendapatkan api key yang bisa digunakan untuk melakukan aktifitas get dan post email.

Pada artikel kali ini kita akan membuat sebuah email template dengan html dan mengirimkanya ke email tujuan menggunakan bahasa python.

Siapkan sebuah file dengan nama email.html

<html>
<head>
<title>
Email Konfirmamsi
</title>
</head>
<body>
<p>Alfin, terimakasih telah melakukan registrasi member di halovina.com,
untuk aktivasi user member klik link di bawah ini</p><br>
<p>link aktivasi : https://halovina.com/konfirmasi/xxxxxxxxxx</p>

</body>
</html>

Sebelum mengikuti langkah berikutnya pastikan terlebih dahulu Anda sudah berda pada mode python environment, jika belum Anda bisa klik link berikut : membuat python virtual environment.

Anda perlu merender html dan context data, di python Anda bisa menggunakan jinja2, gunakan pip untuk menginstall jinja dan  library requests.

pip install jinja2,requests

 

1) Buat sebuah file dengan nama main.py

from jinja2 import Environment, FileSystemLoader
import requests

def onCreateCompanyRequest():
persons = {
'user_name': 'user test2',
'activation_url': 'https://halovina.com/konfirmasi/xxxxxxxxxx'
}
file_loader = FileSystemLoader('')
env = Environment(loader=file_loader)
template = env.get_template('email.html')
body = template.render(persons=persons)
email = "test@gmail.com"
print(send_email(body, email))

def send_email(body, email):
url = 'https://api.mailgun.net/v3/{}/messages'.format("mail.xyz.com")
auth = ('api', 'key-9090909090900909wrty')
data = {
'from': 'Mailgun User <info@{}>'.format('halovina.com'),
'to': email,
'subject': 'User Activation',
'text': 'Plaintext content',
'html': body
}
response = requests.post(url, auth=auth, data=data)
response.raise_for_status()
return response

onCreateCompanyRequest()

2) Modifikasi file email.html

<html>
<head>
<title>
Email Konfirmamsi
</title>
</head>
<body>
<p>{{persons.user_name}}, terimakasih telah melakukan registrasi member di halovina.com,
untuk aktivasi user member klik link di bawah ini</p><br>
<p>link aktivasi : {{persons.activation_url}}</p>

</body>
</html>

 

3) Jalankan script python main.py


python main.py

Jika semuanya berjalan lancar, email akan terkirim ke email tujuan dalam format HTML.
Baca artikel lainya :