1.6.1 Support Menggunakan Flask Mail - dvrg/flask-web-development GitHub Wiki

Paket smtplib dari python library bisa digunakan untuk mengirim email menggunakan aplikasi flask, paket smtplib dibungkus dalam extensi flask-mail dan terintegrasi dengan baik dalam flask.

(env) $ pip install flask-mail

flask-mail terhubung ke server Simple Mail Transfer Protocol (SMTP) dan mengirim email kepada penerima. Nah, jika kamu tidak mengkonfigurasi flask-mail terhubung ke localhost dan otomatis portnya 25 tanpa otentikasi.

Flask-Mail SMTP Configuration Keys

Key Default Description
MAIL_SERVER localhost Hostname or IP address
MAIL_PORT 25 Port email server
MAIL_USE_SSL False Enable TLS security
MAIL_USE_TLS False Enable SSL security
MAIL_USERNAME None Username email
MAIL_PASSWORD None Password email

Cara menggunakannya, tuliskan pada app.py:

# app.py: konfigurasi email
...
import os

...
app.config['MAIL_SERVER'] = 'smtp.gmail.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = os.environ.get('MAIL_USERNAME')
app.config['MAIL_PASSWORD'] = os.environ.get('MAIL_PASSWORD')

dan lakukan juga inisialisasi flask-mail pada app.py:

# app.py: inisialisasi flask-mail
...
from flask_mail import Mail
...

mail = Mail(app)
...

Dua variabel untuk email username dan email password perlu diexport melalui environment. Linux or MacOS:

(env) $ export MAIL_USERNAME='gmail username'
(env) $ export MAIL_PASSWORD='gmail password'
Windows:
(env) $ set MAIL_USERNAME='gmail username'
(env) $ set MAIL_PASSWORD='gmail password'

tapi, sebelum kamu menggunakan email kamu untuk mengirim email. Enable less secure gmail kamu dengan masuk ke link https://myaccount.google.com/lesssecureapps.