【发布时间】: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