最近、gmailでメールを送ろうとしてSwiftMailのエラーに遭遇しました。
Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted.
gmailでメールを送ろうとしたところ、googleが私をスパムだと勘違いしたようで(多分、私のリクエストが早すぎたから)、私のアカウントにアクセスがあったというメールを受け取り、私であることを伝えました。問題なくメールを送ることができたのですが、今になってこのような現象が起きてしまいました。
これは私のenvファイルの内容です。
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mypasswordhere
[email protected]
MAIL_NAME=talentscout
ネットで調べたところ、quot;access for lesser app" やquot;unlocking gmail captcha" などがありましたが、残念ながら2段階認証を見つけるまで私には効果がありませんでした。
**以下は、私が行ったことです。
1.googleへの2段階認証を有効にする こちら。
2.システムで使用するアプリパスワードを作成する こちら。
3.その他(カスタム名)*を選択し、生成をクリックしました。 4.laravelのenvファイルに行き、以下のように編集しました。
[email protected]
MAIL_PASSWORD=生成されたパスワード
5.apacheサーバーを再起動させ、ブーム!**再び動作するようになりました。
これが私の解決策でした。少なくとも、他の人が可能性のある答えを探すために時間を浪費することがないようにするために、これを作りました。
私も同じ問題がありました。gmailのパスワードを変更すると問題が解決しました。また、less secure app on on your gmail accountを有効にすることを忘れないでください。
この一手間が功を奏したのか...。2段階認証はありません。 私はローカル開発用にダミーアカウントを作成していたので、この設定でOKでした。 個人情報や重要なデータが含まれていない場合のみ、この設定を行うようにしてください。 これは、このエラーに対処するための別の方法であり、安全ではありません。
セキュリティの低いアプリにアクセスを許可する設定をONにしました。 フォームはこちら: https://myaccount.google.com/lesssecureapps
あなたの目的に役立つことを祈っています。
Gmailは、セキュリティ上の理由から、ユーザー名として他のアプリケーションで使用されているメールアドレスの使用をブロックする傾向があります。 メールの目的で新しいメールアドレスを作成するか、安全性の低いアプリアクセスにアクセスして、安全性の低いアプリのアクセスをオンにする必要があります。 Gmailから確認のメールが届き、そこからこれらの変更が自分で行われたことを確認できます。 そうして初めて、そのようなメールアドレスをアプリケーションを通じてメールの目的で使用できます。
これが.envメールの設定です。
MAIL_DRIVER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=hello27
MAIL_ENCRYPTION=tls
質問で述べたように、同じエラーが発生していましたが、使用しています。
php artisan config:cache
すべてがうまくいきました。