Laravel 5 Laravel发送邮件失败

Laravel 5 Laravel发送邮件失败,laravel-5,smtp,php-7,Laravel 5,Smtp,Php 7,我在本地主机服务器上安装了laravel,我已经配置了.env电子邮件设置 这是我的.env电子邮件设置 MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=my@gmail.com MAIL_PASSWORD=mypassword MAIL_ENCRYPTION=tls 这就是我得到的错误 ErrorException in StreamBuffer.php line 95: stream_socket_

我在本地主机服务器上安装了laravel,我已经配置了.env电子邮件设置

这是我的.env电子邮件设置

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=my@gmail.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
这就是我得到的错误

ErrorException in StreamBuffer.php line 95:
stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

有人知道如何解决这个问题吗?如果您能指导我如何解决这个问题,我将不胜感激。

您的代码应该很好,我认为您只需要更改您的
gmail
帐户的一些设置:

首先,你需要对你的gmail帐户设置进行一些更改。 你需要打开你的gmail帐户设置。将打开以下页面

你需要点击登录谷歌。它会将您重定向到下一页

有两个步骤:

  • 如果正在使用,则需要关闭两步验证
  • 然后单击已连接的应用程序和站点。它会将您重定向到以下窗口
  • 在这里,您需要保持允许不太安全的应用程序:打开。 一切都结束了。这就是你需要做的


    我还发现这在服务器级别非常有用:

    \vendor\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php
    
    编辑 第259行。注释掉$options=array();并添加以下内容

    //$options = array();
        $options['ssl'] = array('verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true);
    

    嗨,谢谢你的快速回复,我已经按照你的步骤去做了。但这对我不起作用。下面是我的php和apache版本。Apache/2.4.23 PHP 7.0.12尝试此命令PHP artisan config:cache并重新启动服务器Hi Hackerman,我遵循了你的步骤,对我也不起作用。它对我起作用…你能在github上创建一个repor并给我访问权限吗…我可以在这个周末帮助你…如果你的答案是肯定的,你可以通过我的个人资料Hi Hackerman联系我,我想这是在我的本地主机上发生的,因为我是在我的本地主机上做的。嗨,安,谢谢你的评论。是的,这是我用来解决问题的方法。。