PythonとFlaskでメール送信と簡易SMTP Server
flask-mailでメールの送信
Flask extensionのflask-mailを使うと、簡易に実装できます。
インストール
$ sudo pip install Flask-Mail
使い方
まずは、Mailのインスタンスを作成。
from flask import Flask from flaskext.mail import Mail app = Flask(__name__) mail = Mail(app)
そして、送信。HTMLとプレーンテキストを個別に設定できます。
from flaskext.mail import Message @app.route("/") def index(): msg = Message("ここにタイトルがはいります", sender="from@example.com", recipients=["to@example.com"]) msg.body = "testing" msg.html = "<b>testing</b>" mail.send(msg)
より詳細な設定は、公式ドキュメントを参照されたい。
Pythonで簡易SMTP Server
local環境で、メールのテストを行いときに使います。
python -m smtpd -n -c DebuggingServer localhost:25
余談
flask-mailの公式ドキュメントには、下記(-)のように記載されているのですが、そのままだとErrorを吐きます。そこで、Flask extensionsの説明にあるように下記(+)のように修正しました。
- from flaskext.mail import Mail - from flaskext.mail import Message + from flask.ext.mail import Mail + from flask.ext.mail import Message