質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

SMTP

SMTP(Simple Mail Transfer Protocol)はIPネットワークでemailを伝送する為のプロトコルです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Q&A

0回答

1469閲覧

Swift_TransportException Failed to authenticate on SMTP server with username "ユーザーメール"using 3 possib

Tony-Aaron

総合スコア22

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

SMTP

SMTP(Simple Mail Transfer Protocol)はIPネットワークでemailを伝送する為のプロトコルです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

0グッド

0クリップ

投稿2021/01/11 05:28

メール送信をしたいが下記のエラーが発生します。

laravel 6.20でメール送信の実装をしています。
ローカル環境でメールが送信できるようにしたいです。
また、Gmailの設定として2段階認証を実行済。
念の為、mail.phpも.envと同じように編集済。
Gmail 2段階認証済画像
Gmailの設定を参考にしたQiita
メール送信を参考にした記事

発生している問題・エラーメッセージ

Failed to authenticate on SMTP server with username "個人のgmail@gmail.com" using 3 possible authenticators. Authenticator LOGIN returned Expected response code 235 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials t25sm18113680pgv.30 - gsmtp ". Authenticator PLAIN returned Expected response code 235 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials t25sm18113680pgv.30 - gsmtp ". Authenticator XOAUTH2 returned Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials t25sm18113680pgv.30 - gsmtp ".

該当のソースコード

.env MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=個人のgmail@gmail.com MAIL_PASSWORD=アプリパスワードから発行をコピペ MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=USERNAMEと同じ@gmail.com MAIL_FROM_NAME="test mail"

mail.php
//コメントアウトはみやすくするために削除しています。

<?php return [ 'driver' => env('MAIL_DRIVER', 'smtp'), / 'host' => env('MAIL_HOST', 'smtp.gmail.com'), 'port' => env('MAIL_PORT', 587), 'from' => [ 'address' => env('MAIL_FROM_ADDRESS', '個人のgmail@gmail.com '), 'name' => env('MAIL_FROM_NAME', 'test mail'), ], / 'encryption' => env('MAIL_ENCRYPTION', 'tls'), / 'username' => env('MAIL_USERNAME','個人のgmail@gmail.com '),'), 'password' => env('MAIL_PASSWORD','アプリパスワードから発行をコピペ'), / 'sendmail' => '/usr/sbin/sendmail -bs', / 'markdown' => [ 'theme' => 'default', 'paths' => [ resource_path('views/vendor/mail'), ], ], 'log_channel' => env('MAIL_LOG_CHANNEL'), ]; ``` ``` ContactController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Mail\ContactSendmail; class ContactController extends Controller { public function index() { //フォーム入力画ページのviewを表示 return view('contact.index'); } public function confirm(Request $request) { //バリデーションを実行(結果に問題があれば処理を中断してエラーを返す) $request->validate([ 'email' => 'required|email', 'title' => 'required', 'body' => 'required', ]); //フォームから受け取ったすべてのinputの値を取得 $inputs = $request->all(); //入力内容確認ページのviewに変数を渡して表示 return view('contact.confirm', [ 'inputs' => $inputs, ]); } public function send(Request $request) { //バリデーションを実行(結果に問題があれば処理を中断してエラーを返す) $request->validate([ 'email' => 'required|email', 'title' => 'required', 'body' => 'required' ]); //フォームから受け取ったactionの値を取得 $action = $request->input('action'); //フォームから受け取ったactionを除いたinputの値を取得 $inputs = $request->except('action'); //actionの値で分岐 if($action !== 'submit'){ return redirect() ->route('contact.index') ->withInput($inputs); } else { //入力されたメールアドレスにメールを送信 \Mail::to($inputs['email'])->send(new ContactSendmail($inputs)); //再送信を防ぐためにトークンを再発行 $request->session()->regenerateToken(); //送信完了ページのviewを表示 return view('contact.complete'); } } } ``` ``` confirm.blade.php @extends('layouts.app') @section('content') <form method="POST" action="{{ route('contact.send') }}"> @csrf <label>メールアドレス</label> {{ $inputs['email'] }} <input name="email" value="{{ $inputs['email'] }}" type="hidden"> <label>タイトル</label> {{ $inputs['title'] }} <input name="title" value="{{ $inputs['title'] }}" type="hidden"> <label>お問い合わせ内容</label> {!! nl2br(e($inputs['body'])) !!} <input name="body" value="{{ $inputs['body'] }}" type="hidden"> <button type="submit" name="action" value="back"> 入力内容修正 </button> <button type="submit" name="action" value="submit"> 送信する </button> </form> @endsection ``` ``` complete.blade.php @extends('layouts.app') @section('content') <h1>{{ __('送信完了') }}</h1> @endsection ``` ### 試したこと [こちらにエラー対処のQiitaを参考](https://loop-never-ends.com/laravel-gmail-app-password/) アプリパスワードを再発行。アプリを選択⇨その他名前を入力を選択して生成しました。 その後に`php artisan cache:clear php artisan config:cach php artisan serve` 最後に自分のローカルホストに入ってメールを送信しましたが同じエラーが発生します。 ### 投稿者のバージョン情報 Laravel Framework 6.20.7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問