2014-12-31 55 views
8

我试图从本地主机使用Laravel从Gmail发送电子邮件。我得到这个错误:连接不能建立与主机smtp.gmail.com [#0]Laravel - 无法与主机smtp.gmail.com建立连接[#0]

我使用SSL与端口465.我也试过587,但它没有工作。

我也试过this但它没有工作。我发现很多人都遭受同样的问题,但我找到的解决方案并不奏效。

+0

什么是你的PHP版本? –

+0

@IfediOkonkwo 5.5.2 – omarsafwany

+0

与此同时,我想你已经能够解决这个问题了?已经四个月了。 –

回答

1

您是否尝试将加密更改为tls?我目前使用Gmail SMTP服务器从我的Laravel应用程序发送电子邮件。我使用TLS和端口587

+0

yup仍然没有工作的ID :/ – omarsafwany

+0

同样的问题在这里 –

+0

这对我很有用!当我在Windows中使用apache时,我需要把tls。所以也许这是一个ssl配置问题。 – rebduvid

-3

默认情况下,您不能从本地主机发送邮件

如果您正确配置文件,您将能够从中发送电子邮件。

您也可以尝试在服务器或生产区域上传该网站。它会工作。

+0

可以从本地主机发送邮件,因为我已经从其他笔记本电脑尝试过,并且邮件已成功发送。我的配置似乎有问题,至今我还不能确定 – omarsafwany

+0

确实,但不推荐。您必须安装邮件服务器并重新配置您的工作区。我会建议获得一个小(免费)主机并尝试一下。 – Robin

+0

不需要一个小的(免费)主机,localhost(xampp,wamp..etc)可以发送电子邮件,如果你的php配置文件配置正确。 – RileyManda

9

我有同样的错误:无法与主机smtp.gmail.com [#0]建立连接,并按照此处列出的步骤操作:https://github.com/swiftmailer/swiftmailer/issues/544

尝试添加下列行来在夫特/运输/ StreamBuffer.php​​3210上线263:

$options['ssl']['verify_peer'] = FALSE; 
$options['ssl']['verify_peer_name'] = FALSE; 

注意,这不是一个完美的解决方案,因为它包括:a)防黑核心代码可以是在SwiftMailer更新中被覆盖,以及b)当您不再验证连接时,降低应用程序的安全性。但作为临时解决方案,它为我工作。

0
https://accounts.google.com/DisplayUnlockCaptcha

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

ENV

MAIL_DRIVER = SMTP

MAIL_HOST = smtp.gmail.com

MAIL_PORT = 587

[email protected]

MAIL_PASSWORD =测试

MAIL_ENCRYPTION = TLS /********/

email.php

'从'=> [ '地址'=>“测试@的Gmail

。 'name'=>'test'],

+2

介意解释? – CinCout

+0

你必须去拖2链接 一个whs有相同的错误 – Adnane

+0

这个https://support.google.com/mail/answer/14257?hl=en – Adnane

2

在您的.env文件中,您需要设置电子邮件帐户的电子邮件地址和密码。

MAIL_DRIVER=smtp 
 
MAIL_HOST=smtp.gmail.com 
 
MAIL_PORT=587 
 
[email protected] 
 
MAIL_PASSWORD=testpassword

,并在邮件填写。PHP

<?php 
 

 
return [ 
 

 

 
\t \t 'driver' => env('MAIL_DRIVER', 'smtp'), 
 

 

 
\t \t 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 
 

 

 
\t \t 'port' => env('MAIL_PORT', 587), 
 

 

 
\t \t 'from' => ['address' => '[email protected]', 'name' => 'Your Title'], 
 

 

 
\t \t 'encryption' => 'tls', 
 

 

 
\t \t 'username' => env('MAIL_USERNAME'), 
 

 

 

 
\t \t 'password' => env('MAIL_PASSWORD'), 
 

 

 
\t \t 'sendmail' => '/usr/sbin/sendmail -bs', 
 

 

 
\t \t 'pretend' => false, 
 

 
];

并清除与此配置缓存。

php artisan config:cache

+0

你好测试这 – Adnane

+0

为活服务器还需要用户名和密码? –

0

这个工作对我来说是很长的搜索时间后,最好的配置:

'driver' => 'smtp', 
'host' => 'smtp-mail.outlook.com', 
'port' => 587, (or 25) 
'encryption' => 'tls', 
-1
MAIL_DRIVER=smtp 
MAIL_HOST=smtp.gmail.com 
MAIL_PORT=587 
[email protected] 
MAIL_PASSWORD=testpassword 
相关问题