【问题标题】:mail sending issue in laravel 5.4laravel 5.4 中的邮件发送问题
【发布时间】:2017-07-26 05:49:50
【问题描述】:

我正在尝试使用 laravel 5.4 发送电子邮件。这是我的 .env

 MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=username@gmail.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls

这是我的 HomeController

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use Mail;
use App\Mail\MyTestMail;

class HomeController extends Controller
{

    /**
     * Send My Test Mail Example
     *
     * @return void
     */
    public function myTestMail()
    {
        //echo 'hello';
        $myEmail = 'example@gmail.com';
        Mail::to($myEmail)->send(new MyTestMail());


        dd("Mail Send Successfully");
    }

}

但我遇到了类似的错误

AbstractSmtpTransport.php 第 383 行中的 Swift_TransportException: 预期响应代码 250,但得到代码“535”,消息“535-5.7.8” 不接受用户名和密码。在 535 5.7.8 了解更多信息 https://support.google.com/mail/?p=BadCredentialsr67sm38867592pfb.125 -gsmtp"

at Swift_Transport_AbstractSmtpTransport->_assertResponseCode('535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials r67sm38867592pfb.125 - gsmtp ', array(250)) in AbstractSmtpTransport.php line 281
at Swift_Transport_AbstractSmtpTransport->executeCommand('RSET ', array(250), array()) in EsmtpTransport.php line 270
at Swift_Transport_EsmtpTransport->executeCommand('RSET ', array(250)) in XOAuth2Authenticator.php line 55
at Swift_Transport_Esmtp_Auth_XOAuth2Authenticator->authenticate(object(Swift_SmtpTransport), 'username@gmail.com', 'password') in AuthHandler.php line 176
at Swift_Transport_Esmtp_AuthHandler->afterEhlo(object(Swift_SmtpTransport)) in EsmtpTransport.php line 332

然后我将我的 .env 文件改为

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=username2@gmail.com
MAIL_PASSWORD=password2
MAIL_ENCRYPTION=tls

然后我重新启动 apache2。但是以前的用户名和密码仍然是同样的错误。我不知道为什么会发生这种情况?请帮助我。

【问题讨论】:

  • 我在 php7 上的 L5.4 也有同样的问题。但我在本地 php54 中尝试了相同的设置,能够发送出去。我正在努力找出造成的原因。

标签: email sendmail linux-mint laravel-5.4


【解决方案1】:

Google 现在不接受来自不太安全的应用的登录

您需要授权Gmail的外部应用使用。

按照接下来的步骤并授权制作:

首先,去your Google Account Management page

在安全选项下,点击授权的编辑链接 应用程序和网站

您可以在 Gmail 的设置中允许安全性较低的应用,请访问:

https://www.google.com/settings/security/lesssecureapps

并将“安全性较低的应用程序的访问权限”设置为“已启用”

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2017-08-31
    • 1970-01-01
    • 2019-03-12
    • 2018-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多