laravel 5 邮件发送的 Gmail 设置
Gmail setup for laravel 5 mail send
我将其设置为通过 laravel 5 从我的 gmail 帐户发送邮件。
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=********@gmail.com //email address
MAIL_PASSWORD="*******" //password for that email
MAIL_ENCRYPTION=tls
为了测试邮件发送,我用了这个
Route::get('/email', function(){
$data = array(
'name' => "Library",
);
Mail::send('mailview',$data,function($message){
$message->from('*******@gmail.com','Library');
$message->to('*******@gmail.com')->subject('Confirmation mail.');
});
return "A email has been sent to you. Check inbox. Also check spambox if not in inbox.";});
但这给了我以下错误。
Swift_TransportException in AbstractSmtpTransport.php line 383:
Expected response code 250 but got code "530", with message "530 5.7.0 Must issue a STARTTLS command first. g20sm4065212pfd.55 - gsmtp
"
我用谷歌搜索了这个,发现了一些与此相关的问题。并且到目前为止了解到 gmail 安全设置是罪魁祸首 here.But 没有找到任何描述如何解决这个问题的答案。
现在我想知道我应该如何配置我的 gmail 帐户?
[假设我刚刚在 linux mint 上创建了一个新的 gmail account.Working - 如果此信息对您有帮助的话。]
465和587端口的区别:
端口 465 用于 smtps - SSL 加密在任何 SMTP 级通信之前自动启动。
端口 587 用于 msa - 它几乎就像标准的 SMTP 端口。如果服务器支持并且您的 ISP 不过滤服务器的 EHLO 回复(2014 年 11 月报告),则可以通过 STARTTLS 命令在 SMTP 级别启动 SSL 加密。
(source)
所以如果你想使用端口号 587,你应该在你的设置中将加密设置为空,但是对于 465,设置 'ssl' 为加密将解决问题:
'host' => 'smtp.gmail.com',
'port' => 465,
'encryption' => 'ssl',
或
'host' => 'smtp.gmail.com',
'port' => 587,
'encryption' => '',
也许您需要在您的 gmail 帐户中启用不太安全的应用程序访问。
不确定发生了什么。
port 587
应该可以。
你会尝试创建一个新项目并像你在这里写的那样配置设置吗?
我觉得这里一切都还好。您的项目设置可能存在其他问题。
有一次我遇到了这样的事情并创建了一个对我有用的新项目。
我将其设置为通过 laravel 5 从我的 gmail 帐户发送邮件。
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=********@gmail.com //email address
MAIL_PASSWORD="*******" //password for that email
MAIL_ENCRYPTION=tls
为了测试邮件发送,我用了这个
Route::get('/email', function(){
$data = array(
'name' => "Library",
);
Mail::send('mailview',$data,function($message){
$message->from('*******@gmail.com','Library');
$message->to('*******@gmail.com')->subject('Confirmation mail.');
});
return "A email has been sent to you. Check inbox. Also check spambox if not in inbox.";});
但这给了我以下错误。
Swift_TransportException in AbstractSmtpTransport.php line 383: Expected response code 250 but got code "530", with message "530 5.7.0 Must issue a STARTTLS command first. g20sm4065212pfd.55 - gsmtp "
我用谷歌搜索了这个,发现了一些与此相关的问题。并且到目前为止了解到 gmail 安全设置是罪魁祸首 here.But 没有找到任何描述如何解决这个问题的答案。 现在我想知道我应该如何配置我的 gmail 帐户? [假设我刚刚在 linux mint 上创建了一个新的 gmail account.Working - 如果此信息对您有帮助的话。]
465和587端口的区别:
端口 465 用于 smtps - SSL 加密在任何 SMTP 级通信之前自动启动。
端口 587 用于 msa - 它几乎就像标准的 SMTP 端口。如果服务器支持并且您的 ISP 不过滤服务器的 EHLO 回复(2014 年 11 月报告),则可以通过 STARTTLS 命令在 SMTP 级别启动 SSL 加密。
(source)
所以如果你想使用端口号 587,你应该在你的设置中将加密设置为空,但是对于 465,设置 'ssl' 为加密将解决问题:
'host' => 'smtp.gmail.com',
'port' => 465,
'encryption' => 'ssl',
或
'host' => 'smtp.gmail.com',
'port' => 587,
'encryption' => '',
也许您需要在您的 gmail 帐户中启用不太安全的应用程序访问。
不确定发生了什么。
port 587
应该可以。
你会尝试创建一个新项目并像你在这里写的那样配置设置吗?
我觉得这里一切都还好。您的项目设置可能存在其他问题。
有一次我遇到了这样的事情并创建了一个对我有用的新项目。