一尘不染

试图使Laravel 5电子邮件正常工作

php

我正在尝试通过输入URL向指定用户发送电子邮件,但出现以下错误:

第383行的AbstractSmtpTransport.php中的Swift_TransportException:预期的响应代码为250,但代码为“
530”,消息为“ 530 5.7.1要求身份验证”

到目前为止,我只是试图使其与Gmail一起使用。我该如何工作?

这是我到目前为止的内容: mail.php

<?php
    return [
        'driver' => env('MAIL_DRIVER',' smtp'),
        'host' => env('MAIL_HOST', 'smtp.gmail.com'),
        'port' => env('MAIL_PORT', 587),
        'from' => ['address' =>"MyUsername@gmail.com" , 'name' => "example"],
        'encryption' => 'tls',
        'username' => env('MyUsername@gmail.com'),
        'password' => env('MyPassword'),
        'sendmail' => '/usr/sbin/sendmail -bs',
        'pretend' => false,
    ];

这是我在路线中所拥有的:

Route::get('test', function() {
    Mail::send('Email.test', [], function ($message) {
        $message->to('example@gmail.com', 'HisName')->subject('Welcome!');
    });
});

这就是我的控制器中的内容:

class MailController extends Controller
{
    public function Sending_Email()
    {
        $this->call('GET','Email.test');
        return View('Email.test');
    }
}

这就是我的.env文件中的内容:

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

阅读 254

收藏
2020-05-29

共1个答案

一尘不染

我知道它现在正在为您工作@ Vantheman6,但这对我有用,以防其他人也一样。

我在我的.env文件中添加了我正在使用的邮件服务的详细信息。因此,请确保以下详细信息

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

.env文件中的值是正确的。

注意:不要忘记在编辑.env文件后重新启动服务器,这样它将选择您放入其中的新数据。

如果不重新启动服务器,即使您进行了可能导致此错误的更改,.env文件仍将继续向应用程序显示旧邮件数据。

2020-05-29