我无法使用 gmail SMTP 通过 swift 邮件发送邮件
Posted
技术标签:
【中文标题】我无法使用 gmail SMTP 通过 swift 邮件发送邮件【英文标题】:I'm failing to send mail with swift mail using gmail SMTP 【发布时间】:2018-09-13 16:25:43 【问题描述】:我收到了这个错误
Expected response code 250 but got code "530", with message "530-5.5.1 Authentication Required. Learn more at\r\n
530 5.5.1 https://support.google.com/mail/?p=WantAuthError 14sm769143wmo.27 - gsmtp\r\n
我使用了 php artisan config:cache 并重新启动了我的服务器,但我仍然收到错误消息。
这是我的 config/mail.php 详细信息
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'port' => env('MAIL_PORT', 587),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'Example@gmail.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('Example@gmail.com'),
'password' => env('******'),
这是我的用户控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
public function sendMail()
\Mail::send('emails.welcome', array('Test'=>'Test User'),
function($message)
$message->from('Example@gmail.com', 'Your Application');
$message->to('Example@gmail.com', 'Test')->subject('Your Reminder!');
);
echo"Mail sent successfully...!";
这是我的视图文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1>hello, $Test!</h1>
</body>
</html>
我的 .env 文件
MAIL_DRIVER= smtp
MAIL_HOST= smtp.gmail.com
MAIL_PORT= 587
MAIL_USERNAME = Example@gmail.com
MAIL_PASSWORD = ******
MAIL_ENCRYPTION = tls
我怎样才能让它工作??
【问题讨论】:
***.com/questions/29100877/… 【参考方案1】:更改您的 .env 文件:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=Example@gmail.com
MAIL_PASSWORD=******
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=Example@gmail.com
我认为587端口和加密tls不能再使用了。可能tls认证无效
【讨论】:
【参考方案2】:在 .env 文件中设置 smtp 详细信息,而不是在配置文件中。看代码
env('MAIL_DRIVER', 'smtp')
所以这个 env() 函数正在从 .env 文件中获取数据,所以在那里设置你的值。不在配置中。或者如果你想在配置文件中设置,像这样设置
'driver' => 'smtp',
'host' => 'smtp.gmail.com',
等等。
【讨论】:
我已经在我的 env 文件中获得了凭据,但我仍然收到该错误 然后是您的身份验证错误,因为错误也提示,请检查密码,并让您的电子邮件被不太安全的应用程序使用.. 谷歌为此。以上是关于我无法使用 gmail SMTP 通过 swift 邮件发送邮件的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 8:无法与主机 smtp.gmail.com 建立连接
无法通过 gmail 从新创建的电子邮件中使用 phpMailer 发送 SMTP 邮件 [重复]
尝试使用 swift mailer、gmail smtp、php 发送邮件