尝试让Laravel 5的邮件功能正常工作。

5 浏览
0 Comments

尝试让Laravel 5的邮件功能正常工作。

我试图通过输入URL发送电子邮件给指定的用户,但我遇到了以下错误:

在AbstractSmtpTransport.php的行383中,出现了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

admin 更改状态以发布 2023年5月24日
0
0 Comments

我的Laravel 5.1中的.env文件配置如下:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=example@gmail.com
MAIL_PASSWORD=****************
MAIL_ENCRYPTION=tls

其中最重要的是我创建了16位的Gmail应用程序特殊密码。

我需要透露一件更重要的事情,因为没有任何的配置能成功。也就是说,每当我更改.env文件后,需要运行此命令:

php artisan config:cache

这是最最最重要的,因为如果没有这个命令,Laravel会执行它的缓存中的先前设置。我需要花费超过10个小时才能弄清楚。

0
0 Comments

我知道@Vantheman6现在能正常工作了,但这是对我有效的方法,如果对别人也有用的话:

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

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

在.env文件中是准确的。

注意:编辑.env文件后不要忘记重新启动服务器,这样它才能获取您输入的新数据。

使用以下命令清除配置缓存:

php artisan config:cache

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

0