Laravel发送邮件失败

时间:2016-12-01 13:19:11

标签: 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_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

有没有人知道如何解决这个问题?感谢您能指导我如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

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

\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);

答案 1 :(得分:0)

您的代码应该没问题,我认为您只需更改gmail帐户的某些设置:

  

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

enter image description here

  

您需要点击登录Google。它会将您重定向到以下页面。

enter image description here

  

有两个步骤:

  1. 如果您正在使用它,则需要关闭两步验证。
  2. 然后点击已连接的应用&站点。它会将您重定向到以下窗口。
  3. enter image description here

      

    在这里,您需要保留允许不太安全的应用:开启。    它已经完成了。这就是你需要做的一切。