プログラムでメール送信(gmail)する時に陥った罠

Pythonからgmailを送信しようとした時に陥った罠をメモしておきます

[ポイント]
プログラムからgmailを送信するときのGmail設定解説
(プログラムはどの言語でも可、2段階認証を行なっていないgmailアカウント対象)

今回利用するプログラム

どの言語でもこの問題には対応可能ですが、今回は以下のサイトを参考にPythonを利用しました。(PHPでもできました)
qiita.com

エラーが出てくる

上記のPythonを実行した時に下のようなエラー(SMTPAuthenticationError)が出てきました。この場合は、Gmailの設定がうまくいっていないということです。(今回はここを解決する方法について解説)
f:id:harucharuru:20191204130114p:plain

Gmail設定方法

2段階認証を行なっているアカウントと行なっていないアカウントによって少し設定が違うみたいですが、今回は行なっていない方法について説明します。
2段階認証を行なっているかは、ここで確認できます。
ログイン - Google アカウント
f:id:harucharuru:20191204131327p:plain

1.IMAPを有効にする

Gmailを開いて歯車マークより設定→メール転送とPOP/IMAPを開く
f:id:harucharuru:20191204131610p:plain

IMAP アクセスを有効にし、変更を保存
f:id:harucharuru:20191204131708p:plain

2.安全性の低いアプリへのアクセスの無効化:有効

ログイン - Google アカウントより、安全性の低いアプリへのアクセスの無効化を有効にしておきます。
(安全性の低いアプリを使うことを許可する)
f:id:harucharuru:20191204130539p:plain

3.重大なセキュリティ通知メールをクリック

一度プログラムを動かすと、次のようなメールが来たり、サイトの上の方に警告が出ることがあります。
その場合はクリックをし、心当たりがあると申請します。

f:id:harucharuru:20191204131948p:plain
メールの場合
f:id:harucharuru:20191204141503p:plain
上部に表示される場合

4.アカウントへのアクセス

ログイン - Google アカウントにアクセスし、Google アカウントへのアクセスを許可します。
f:id:harucharuru:20191204132250p:plain


私は、以上のことを行なったらメール送信ができました。
f:id:harucharuru:20191204132607p:plain

それでも治らなければ・・・

下記サイトを参考にしてみてください
support.google.com