在GoDaddy服务器上发送电子邮件时出错:Laravel 5.1

时间:2015-12-22 19:34:17

标签: php laravel-5 laravel-5.1

我在Laravel 5.1中使用内置的登录系统模板

当我在localhost上使用忘记密码时,一切正常。以下是.env文件中的密钥

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=userid
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls

当我在Godaddy服务器上尝试相同的操作时,我面临以下错误。

  

StreamBuffer.php第265行中的Swift_TransportException:连接   无法与主机smtp.gmail.com建立[连接被拒绝

     

111]

7 个答案:

答案 0 :(得分:5)

您的env文件必须如下所示

MAIL_DRIVER=smtp
MAIL_HOST=localhost
MAIL_PORT=465
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=ssl

config/mail.php中,from值应如下所示......

'from' => ['address' => 'pankaj@YourDomainName.com', 'name' => 'Sender Name'],

您的域名来自哪里?或者你可以说,如何在GoDaddy中创建电子邮件帐户?

  
      
  1. 登录您的GoDaddy帐户
  2.   
  3. 转到您的主机帐户。
  4.   
  5. 点击管理
  6.   
  7. 在电子邮件类别下,请单击帐户
  8.   
  9. 如果没有电子邮件帐户,请创建一个帐户。
  10.   

就是这样。

因此,假设您有电子邮件地址,例如Pankaj@yourdomainname.com

现在,将此电子邮件地址放在config / mail.php中为来自字段。就是这样。

这将100%解决问题

答案 1 :(得分:2)

我有一段时间试图找到答案,所以希望这有助于某人。我能够使用我的GoDaddy电子邮件帐户设置中继一段时间但无论出于何种原因停止工作。我现在使用标准的PHP Mail函数发送电子邮件,这里是.env配置。不确定是否需要端口或加密,但是它正在工作,所以保持原样。

MAIL_DRIVER=mail
MAIL_HOST=localhost
MAIL_PORT=465
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=ssl

答案 2 :(得分:1)

环顾网页,在使用GoDaddy时,您需要在发送电子邮件时使用带有Gmail凭据的中继SMTP。

因此,在.env文件中,而不是:

MAIL_HOST=smtp.gmail.com

你应该使用

MAIL_HOST=here_godaddy_relay_server

中继服务器的确切值取决于您拥有的主机,但可能会relay-hosting.secureserver.net,请先尝试使用:

MAIL_HOST=relay-hosting.secureserver.net

更多详情:https://www.godaddy.com/help/what-is-the-name-of-my-hosting-accounts-relay-server-953+&cd=2&hl=en&ct=clnk&gl=us

答案 3 :(得分:1)

我在goDaddy的共享主机

我可以使用cPanel->电子邮件向导 - >配置邮件客户端

中的值配置我的.env

enter image description here

答案 4 :(得分:1)

对于首先发送到Laravel项目的配置电子邮件,请在主机中创建一个电子邮件帐户,然后检查配置详细信息。 enter image description here

现在为您配置.env文件示例:

MAIL_DRIVER=mail
MAIL_HOST=mail.22h.in
MAIL_PORT=587
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls

您的config/mail.php应该是这样。

'from' => ['address' => 'demo@domain.in', 'name' => 'Order Receipt'],

清除项目缓存和配置,运行以下命令

php artisan config:Cache
php artisan cache:Clear

答案 5 :(得分:0)

原因之一可能是 .env文件中的错误的Mail_RRIVER 等。请确保您在此处输入正确的信息,例如G。对于 GMAIL ,以下输入将起作用!

MAIL_DRIVER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=**<YOUR_USER_NAME>**@gmail.com
MAIL_PASSWORD=**<YOUR_PASSWORD>**
MAIL_ENCRYPTION=ssl

答案 6 :(得分:0)

Laravel 7 及更高版本的更新

MAIL_MAILER=smtp
MAIL_HOST=localhost
MAIL_PORT=25
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=null