我正在尝试使用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,但得到代码&#34; 535&#34;,带有消息&#34; 535-5.7.8 用户名和密码不被接受。在535 5.7.8了解更多信息 https://support.google.com/mail/?p=BadCredentials r67sm38867592pfb.125 - gsmtp&#34;
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.但仍然使用以前的用户名和密码同样的错误。我不知道为什么会这样?请帮帮我。
答案 0 :(得分:2)
Google现在不接受来自不太安全的应用的登录
您需要授权外部应用程序使用Gmail。
按照以下步骤授权进行操作:
首先,转到your Google Account Management page
在“安全”选项下,单击“授权”的“编辑”链接 应用程序&amp;网站
或
您可以通过Gmail中的设置允许安全性较低的应用,请访问:
https://www.google.com/settings/security/lesssecureapps
并设置&#39;访问不太安全的应用&#39;到&#34;启用&#34;
希望它对你有所帮助。