【问题标题】:Error while sending email on GoDaddy Server: Laravel 5.1在 GoDaddy 服务器上发送电子邮件时出错:Laravel 5.1
【发布时间】:2016-03-29 03:37:52
【问题描述】:

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

当我在本地主机上使用忘记密码时,一切正常。以下是我在 .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]

【问题讨论】:

标签: php laravel-5 laravel-5.1


【解决方案1】:

环顾网络,似乎在使用 GoDaddy 时,您需要使用他们的中继 SMTP 和 Gmail 凭据来发送电子邮件。

所以在你的.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

【讨论】:

  • @Helper Godaddy 根据国家/地区使用奇怪的机制,使用 Google.com(COM 不是另一个),将 godaddy Managing Your Email Account SMTP Relays 粘贴到搜索栏,如果您单击它并重定向您,请返回 google 并尝试显示此页面的缓存 Google 副本
  • 你有godaddy账号吗?如果是这样,您能否像之前的赏金答案中那样提供分步指南?
  • 不,抱歉,我没有,但我认为如果您在 .env 文件中更改 MAIL_HOST,它应该可以立即使用
  • 感谢您的回答,但我一直收到这个Connection could not be established with host relay-hosting.secureserver.net [Connection refused #111]
【解决方案2】:

您的 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. 如果没有电子邮件帐户,请创建一个帐户。

就是这样。

假设您有像 Pankaj@yourdomainname.com 这样的电子邮件地址

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

这将 100% 解决问题

【讨论】:

  • 我得到:StreamBuffer.php 第 268 行中的 Swift_TransportException:无法与 StreamBuffer.php 第 268 行中的主机 localhost [#0] 建立连接
  • 如果您已使用 cpanel 电子邮件帐户配置了电子邮件,请转到 cpanel 并从 URL @SadafSiddiqui 获取域名
  • 这个解决方案有效,非常感谢....我很惊讶这个问题的解决方案是如此简单.. 再次感谢
【解决方案3】:

对于我在 goDaddy 的共享主机

我可以使用 cPanel->Email Wizard->Configure Mail Client 中的值配置我的 .env

【讨论】:

    【解决方案4】:

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

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

    【讨论】:

      【解决方案5】:

      首先为您的 Laravel 项目配置电子邮件,在主机中创建一个电子邮件帐户并检查配置详细信息。

      现在配置你.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
      

      【讨论】:

        【解决方案6】:

        其中一个原因可能是 .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
        

        【讨论】:

          【解决方案7】:

          Laravel 7 及更高版本更新

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-05-05
            • 2016-12-11
            • 2016-07-24
            • 1970-01-01
            • 1970-01-01
            • 2019-11-26
            相关资源
            最近更新 更多