- Google APIを利用する方式
- GMailの安全性を継承
- 初期設定は10分でOK
PythonでGmailを使う【動画】
動画は7分です。ほぼノーカットです。1か所、ダウンロードに時間がかかっているところだけカットしました。Googleのアカウントを持っていれば、10分程度でPythonでGmailを実現できると思います。
動画の内容は、Gmailのラベルを取得することです。Googleのガイドに沿って設定していきます。
尚、動画内で参考にしているページは「Python QuickStart」です。
解説
動画の方法は、Google公式の方法です。
PythonでGmailあるいはMailを利用する方法としては、「PyGmail」「PyMail」といったパッケージを利用する方法もあります。目的にもよると思いますが、安全面を考えますと、Google APIを利用したほうがいいと思います。
つまづくポイントは動画の「後」です。
マニュアルもサンプルコードも豊富ですので、ほとんどのことはこれらを組み合わせることによってできてしまうと思います。
ですが、1点だけ注意しなければならないことがあります。
それは、新しいプログラムを作るときは、もう一度認証の設定をする必要があるということです。
QuickStartのプログラムは一か所、メール機能を制限している行があります。
よく見ると、末尾が「Read Only」となっています。なので、このままではメールを送れません。
詳しくはこちらのページにありますが、メールの機能を使うためにはこの行を変更する必要があります。更に、先ほどのQuickStartで、クライアントを「Read Only」で利用するとGoogle側に認証してしまいましたので、Google APIの認証を削除してやり直す必要があります。SCOPESのソースコードの変更だけではうまくいきません。
おさらいとなりますが、動画でご覧頂きました初期設定の後、PythonでGmailを利用するためには、以下の手順を行ってください。
- PythonのソースコードのSCOPESを変える
(フルアクセス → https://mail.google.com/) - Google Developper APIから登録情報を消す
- 動画の手順をもう一度行ってセットアップする
まとめ
PythonでGMailの送受信の基本設定はこれで終了です。もし、うまくいかない場合は、ソースコードを疑う前に、認証設定を確認されることをお勧めします。
また、本当の難関は、日本語メール受信時の文字化け対策です。メールに含まれる文字コード情報から文字を解読するのですが、結構手間がかかります。一方、メールの送信は、文字コードを指定することができますので、割と簡単に開発することができます。
ぜひ、引き続き、チャレンジしてみてください。