Невозможно использовать SMTP Gmail сервер для отправки аутентификаций электронной почты - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь отправить подтверждение электронной почты пользователя.Я обновил конфигурацию env и mail, чтобы она соответствовала моей почте Google.Однако я сталкиваюсь с ошибкой Swift_TransportException (530).

.env

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=okaydots@gmail.com
MAIL_PASSWORD=

mail.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', 'okaydots@gmail.com'),
        'name' => env('MAIL_FROM_NAME', 'Kyle Jeynes'),
    ],
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    'username' => env('okaydots@gmail'),
    'password' => env(''),
    'sendmail' => '/usr/sbin/sendmail -bs',
    'pretend'  => false,
    'markdown' => [
        'theme' => 'default',

        'paths' => [
            resource_path('views/vendor/mail'),
        ],
    ],
    'log_channel' => env('MAIL_LOG_CHANNEL'),
];

User.php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable implements MustVerifyEmail
{
    use Notifiable;

    protected $fillable = [
        'name', 'email', 'password',
    ];

    protected $hidden = [
        'password', 'remember_token',
    ];
}

web.php

Route::get('/', function () {
    return view('welcome');
});

Auth::routes(['verify' => true]);

Route::get('/home', 'HomeController@index')->name('home');

HomeController.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HomeController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
        $this->middleware('verified');
    }

    public function index()
    {
        return view('home');
    }
}

Это точное сообщение об ошибке, которое я получаю:

Ожидаемый код ответа 250, но получил код "530" с сообщением "530-5.5.1 Требуется аутентификация.Узнайте больше на 530 5.5.1 https://support.google.com/mail/?p=WantAuthError 133sm47765wme.9 - gsmtp "

После поиска этой ошибки мне сказали Включить менее безопасные приложения .После этого я все еще получаю ту же ошибку.Как я могу разрешить Laravel отправлять электронные письма с подтверждением / электронными письмами?

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Пожалуйста, верните обратно mail.php.Вам нужно только изменить свой .env

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=okaydots@gmail.com
MAIL_PASSWORD=     #use gmail app password not your gmail password
MAIL_ENCRYPTION=tls
0 голосов
/ 11 декабря 2018

После интенсивного поиска в Google, я обнаружил, что mail.php содержит метод env() для конфигурации, и поэтому ожидает, что arg 1 будет именем конфигурации внутри файла .env.

Я изменил свойmail.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', 'okaydots@gmail.com'),
        'name' => env('MAIL_FROM_NAME', 'Kyle Jeynes'),
    ],
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    'username' => env('MAIL_USERNAME'), # Changed
    'password' => env('MAIL_PASSWORD'), # Changed
    'sendmail' => '/usr/sbin/sendmail -bs',
    'pretend'  => false,
    'markdown' => [
        'theme' => 'default',

        'paths' => [
            resource_path('views/vendor/mail'),
        ],
    ],
    'log_channel' => env('MAIL_LOG_CHANNEL'),
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...