傀儡師の館.Python

2015/08/06(木)08:56

yagmail で gmail のメール送信

Python(214)

Pascal van Kooten さんの yagmail (Yet Another GMAIL client) を使ってみた。 インストール pip install yagmail ~/.yagmail にアカウント名だけ1行入力しておき、メールを送信してみる。 import yagmail yag = yagmail.SMTP() contents = ['This is the body, and here is just text http://somedomain/image.png', 'You can find an audio file attached.', '/local/path/song.mp3'] yag.send('to@someone.com', 'subject', contents) そうすると、パスワードを入力できるのだが、入力しても、 smtplib.SMTPAuthenticationError: (534, '5.7.9 Application-specific password required. Learn more at\n5.7.9 https://support.google.com/accounts/answer/185833 jdddddddddddddd.96 - gsmtp') のようなエラーが表示されてメールを送信できない。 アプリ パスワードでログインのページを参照する。2 段階認証プロセスを使用してあるアカウントから送信したので、このエラーとなったと分かる。Google のアプリパスワードを設定してやり、表示されたコードをパスワードに設定すると、メールが送信できるようになった。 まずは、アプリパスワードを生成して、上記のコードの一部を yag = yagmail.SMTP('GMAILのアカウント', 'アプリパスワード') と書き換えてメールを送信すると、送信成功。 そのままスクリプトの中に入れておくのは、よろしくないので、keyring に登録し直す。 yagmail.register('GMAIL のアカウント', 'アプリパスワード') を実行して、keyring に登録し直す。これで、設定スクリプトは削除して、最初のスクリプトでメールが送信できるようになった。HTML メールも、画像の添付も簡単なので便利。yagmail の使い方。yagmail 素敵。 スクリプトから生のパスワードを追い出すには、keyringを使うのがいいなと改めて認識。次のページも参照。 python:keyringによるパスワード管理 スクリプトから生パスワードを追い出す

続きを読む

このブログでよく読まれている記事

もっと見る

総合記事ランキング

もっと見る