RedmineやGitLabなどの一部のWebソフトウェアでは、通知などのメールを送ることができますが、その時にGmailのサーバを経由してメールを送ることができます。
しかし、このときWebソフトウェアのほうの設定が間違っていないのに、メールが送れないということがたまにあります。
これに私がハマったので、そのときに解決した方法について書きます。
何が起きたか
Gmailを経由してメールの送信をしようとしましたが、設定は正しいのに、なぜかメールが遅れませんでした。
原因
Gmailと紐付けられている、Googleのアカウントの設定に問題がありました。
Googleでは、Googleのログイン画面やGoogle製のアプリからのログインはセキュリティが高いので安全性が高いとして、その他のWebサービスや、アプリからのログインは安全性が低いものからのログインとしています。
通常、アカウントは安全性の低いところからのログインは拒否しています。
メールを送るときは、最初にログインをしてからメールの送信をしています。
なので、この設定によってメールが送信できなくなっていました。
解決方法
原因が分かったので、設定を変更して、安全性の低いものからのログインを認めるようにします。
注意として、アカウントのセキュリティが低くなるので、そこは覚悟しておいてください。
最初にメールを送信させたいメールアドレスでアカウントにログインします。
下記のリンクから出てくるログイン画面からログインをしてください。他の、例えばGmailのログイン画面からログインすると、Gmailの受信ボックスが表示されます。ここでは、アカウントの設定を変更するので、アカウントの設定のほうにログインします。
ログインすると、設定画面が出てきます。
この中から、左にある「ログインとセキュリティ」を選択します。
そうすると、設定項目の中に、「安全性の低いアプリの許可」という項目があるので、ここを有効にすると、設定は完了です。
さいごに
これで、メールが届くようになりました。
結構、気づきにくいので苦労しました。