PythonでGmail送信

退屈なことはPythonにやらせよう16章まで進んで来ました。
今日はPythonでGmai送信をやってみましたが、
本に書かれているコードそのまま書くとちょっと気になる動作してましたので、修正した後のコードも載せていきます。

退屈なことはPythonにやらせよう

気になるコード(動作)

本の中のサンプルコードを実装した場合(しようとした場合)にうまく動作していなかった事は次の3つ。

  1. Googleの2段階認証について
  2. 宛先設定について
  3. 日本語本文の送信について

1はsmtpサーバーに接続する際のメールアドレスとパスワードの設定値について。
Gmailなんかはセキュリティ向上のため2段階認証を進めてきています。
言われるがままに2段階認証を設定している場合、アカウントパスワードを設定しても認証エラーが発生します。

アプリ用のパスワードをGoogle側で作成して、そのパスワードを設定します。
手順はこちらを参照。

 

2.宛先設定について
サンプルコードではsendmail()でのみ送信先アドレスを設定してます。

これだと、bccでメール送信されていました。

 

3.日本語本文の送信について
サンプルコードではMIMETextを使って、メッセージを組み立てましょう。
となっていましたが、これで書くとメッセージ本文が拡張子不明の添付ファイルになって送信されていました。

コードはこんな感じ

送られてくるメールはこう

書き換えた全文コード

宛先がToで送信されるのと、
日本語を含む本文もしっかりと送信されるように修正したコードがこちら。

だんだんとノンプログラマーには対処厳しくなってきたと感じるんですが、
大丈夫なんでしょうかね?

Related post

  1. Pythonでワードクラウド作り②日本語版

  2. Pythonでワードクラウドを作ろう

  3. Javaプログラマが退屈なことをPythonにやらせようとした③

  4. Javaプログラマが退屈なことをPythonにやらせようとした①

  5. Python+Seleniumでwebスクレイピング

  6. 【備忘録】Python開発環境をセットアップ【VisualStudio…

  7. Javaプログラマが退屈なことをPythonにやらせようとした②

Comment

  1. No comments yet.

  1. No trackbacks yet.