Laravel 5.5发送电子邮件未响应smtp.gmail.com#10060

时间:2018-02-04 07:43:35

标签: php laravel email smtp laravel-5.5

laravel 5.5在Windows上的网站本地服务器上发送邮件(xampp) 这是我的代码发送

code

我的错误

无法与主机smtp.gmail.com建立连接[连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应。 #10060]

帮助我检查这个错误例外

MailController.php文件

    public function index()
{
            Mail::send('mail.index', ['key' => 'value'], function($message)
    {
        $message->to('akambajalan0@gmail.com', 'Hello Akam ')->subject('Welcome!');
    });

    return view('mail.index');

}

.env文件

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=578
MAIL_USERNAME=*myemail*@gmail.com
MAIL_PASSWORD=*mypassword*
MAIL_ENCRYPTION=tls 

image

1 个答案:

答案 0 :(得分:0)

这是关于发送电子邮件的全部内容 我认为你的问题在于蒸汽ssl

'driver' => env('MAIL_DRIVER', 'smtp'),
'stream' => [
    'ssl' => [
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true,
    ],
],

如果您想发送带有令牌的邮件,您可以使用

Route::post('/PasswordReset', 'ResetPasswordController@GetToken');

然后通过邮件发送令牌,你可以保存令牌甚至可以保存它你可以使用用户名有一个名为bcrypt()的函数;你可以用它来浏览他的用户名,它会给你很长的代币,但我不喜欢那个因为代币不会改变

我更喜欢将新密码发送给他并让他登录然后更改密码,您可以使用str_random(8);它将生成8个带字母的随机数

尝试帮助您首先必须将邮件配置到Config / mail.php并在驱动程序后添加

'driver' => env('MAIL_DRIVER', 'smtp'),
'stream' => [
    'ssl' => [
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true,
    ],
],

第二个转到你.env文件将此更改为您的主机详细信息列表尝试使用gmail one

MAIL_DRIVER=smtp

MAIL_HOST=smtp.gmail.com

MAIL_PORT=587

MAIL_USERNAME=yourgmailMail@gmail.com

MAIL_PASSWORD=yourpassword

MAIL_ENCRYPTION=tls

第三个转到你的Controller,你将在列表中发送邮件功能假设它的名字是SendMassEmailController这是整个控制器

最后一件事是路线转到web.php

Route::post('/SendMassEmail','SendMassEmailController@SendMassEmail');

终于好运,玩得开心