Laravelでエラー"Failed to authenticate on SMTP server with username"の対処法

投稿日:

Laravelを使っていて、こんな感じのエラーが出ましたか?

Failed to authenticate on SMTP server with username \"thanks@example.com\" using 2 possible authenticators. Authenticator LOGIN returned Swift_TransportException: Expected response code 235 but got code "535", with message "535 Incorrect authentication data"

これは、例えば、フォーム送信を実行した際、そのフォーム送信時に、Emailが送られるように設定しているのだけど、メールサーバーが「認証失敗」と返してきてメールが送れない。と言っています。

なので、対処法としては次の2つ

  • .envのEmailパスワードが間違っているから直す
  • .envのEmailパスワードに " " を付ける

をやってみると、直る可能性が高いです。

 

Failed to authenticate on SMTP対処法1:.envのEmailパスワードが間違っているから直す

もしかして、あなたが使ってるレンタルサーバーのEmail設定でパスワードを最近変えませんでしたか?

Email受信箱を確認するためのログインパスワードを変更したなら、
同じくLaravelの.envのMAIL_PASSWORDを変える必要があります。

書き換えた後に必ずキャッシュクリアphp artisan config:cacheしよう。じゃないと反映されない。
Neby

 

 

Failed to authenticate on SMTP対処法2:.envのEmailパスワードに " " を付ける

正しいEmailパスワードを.envに記入してるはずなのに、同じエラーが出続ける場合は、先程の.envのMAIL_PASSWORDを "" (ダブルクオート)で囲ってみてください。

こうする事で解決する可能性がかなり高いです。特にパスワードに記号を含めてる場合は、ダブルクオートで囲わないと、SMTPエラーが出やすいです。

 

あれ、前はダブルクオートなしで動いてたのに、パスワード変更した後は、ダブルクオート付けないとエラーが出ちゃう。使う記号によってダブルクオートが必要みたいだね。
うまく反映されない場合は、さっきと同様にphp artisan config:cacheでキャッシュクリアもしよう。それで反映されるはず。
Neby

 

今回の"Failed to authenticate on SMTP"エラーは、Emailの認証、つまりパスワード認証が正しくできないと言ってるので、高確率で、この.envのEmail情報が間違ってるのが原因です。

メールサーバー、ポート番号、ユーザー名などにもタイピングミスなどがないか、合わせて確認し、キャッシュを都度消して確認してみてください。

 

  • この記事を書いた人

Neby

本を毎日多読しつつ、資産運用、プログラミング、心理学、ネットビジネススキルを猛向上中。貧富の差が広がる5年後、10年後に安心生活を送るためのお金のリテラシー、スキル、資産を一緒に作っていきましょう。

-PHP Laravel入門
-,