<Python, flask> Flask-mail
Flask-mail
してみた。
https://pythonhosted.org/flask-mail/
まずは、SMTPサーバオン。
>winpty python -m smtpd -n -c DebuggingServer localhost:1025
続いて、別ターミナルで、ipyhton
オン。
で、
In [1]: from flask import Flask In [2]: from flask.ext.mail import Mail In [3]: app = Flask(__name__) In [4]: app.config['MAIL_PORT'] = 1025 In [5]: mail = Mail(app) In [6]: from flask.ext.mail import Message In [7]: msg = Message('Title', sender='sender@example.com', recipients=['receiver@example.com']) In [8]: msg.body = 'Hello, Hage!'
おし、設定完了。
で、送ってみるべし。
In [9]: mail.send(msg) --------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) <ipython-input-10-1f7359cbdd32> in <module>() ----> 1 mail.send(msg) : : RuntimeError: working outside of application context
ゲロ。
application context
の外じゃねーか、、、と怒られる。
なら、
で、ルーティングして、
ラン。
In [11]: @app.route('/') ...: def index(): ...: mail.send(msg) ...: In [12]: app.run()
で、http://127:0.0.1:5000
を見に行くと、
python smtpサーバ側にメッセージが出た。
---------- MESSAGE FOLLOWS ---------- Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Title From: sender@example.com To: receiver@example.com Date: Mon, 25 Apr 2016 14:29:35 +0900 Message-ID: <146156211707.19452.474249551535539549@hage.hage.com> X-Peer: 127.0.0.1 Hello, Hage! ------------ END MESSAGE ------------
いけるねー。
参考。