【Python】Gmail を利用してメールを送信してみる

Python, 開発

おはようございます。

久しぶりの Python 記事です。

今回は Gmail を利用してメールを送信する方法を試してみました。

プロジェクトは新しく作成します。

スポンサーリンク

事前準備

Gmailを利用するために、サードパーティ製のアプリからのメール送信を許可する必要があります。

セキュリティの設定
セキュリティの設定

Googleにログインし、セキュリティの設定から、「安全性の低いアプリの許可」をオンに変更します。

新規プロジェクトの作成

ディレクトリ構成は次のとおり。
AdminLTEで丁度いいのがあったので流用しました。

SampleMail
│ Main.py

├─static
│ ├─css
│ │ │ AdminLTE.css
│ │ │ AdminLTE.min.css
│ │ │ style.css
│ │ │
│ │ └─skins
│ │
│ └─js
│ adminlte.min.js
│ script.js

└─templates
Main.html

パッケージ追加

とりあえず、今まで通り Tornado をインストールします。

Default Settings
Default Settings

上部メニューの「File」>「Default Settings…」を選択します。

パッケージ追加
パッケージ追加

別ウィンドウで設定画面が表示されるので、
サイドメニューの「Project Interpreter」を選択、右側に表示される画面にて「Project Interpreter」リストより対象の Python環境を選択、右側にある「+」マークをクリックします。

インストール
インストール

パッケージ検索画面が表示されるので、
検索窓に「tornado」を入力して対象のパッケージを検索、絞り込まれた一覧から「tornado」を選択して、「Install Package」ボタンをクリックします。

下部に「Package ‘tornado’ installd successfully」が表示されれば完了です。

プログラム

画面

画面は AdminLTE のクイックメールを流用しました。

templates/Main.html

static/css/style.css

クライアントサイド

static/js/script.js

サーバーサイド

Main.py

メール情報(msg_obj)に設定する情報は、メールクライアントなどで表示されるものになります。
実際に送信される宛先やCCは、sendmailメソッドに渡しているアドレスとなります。

起動してみる

メール送信画面
メール送信画面
送信結果
送信結果

送信後、メッセージが表示されればOKです。

まとめ

今回は画面に入力した情報を元にメールを送ってみましたが、
もちろんプログラム上の処理をトリガーにしてメール送信するといったことも可能ですね。

次回は AdminLTE を利用して、HTMLメールを送信できるようにしてみたいと思います。

ではでは。

スポンサーリンク


関連するコンテンツ