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

Php 在GoDaddy服务器上发送电子邮件时出错:Laravel 5.1,php,laravel-5,laravel-5.1,Php,Laravel 5,Laravel 5.1,我正在使用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_Trans

我正在使用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]
环顾网络,使用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

更多详细信息:

您的环境文件必须如下所示

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中创建电子邮件帐户?

  • 登录你的GoDaddy帐户
  • 转到你的托管帐户
  • 单击管理
  • 在“电子邮件”类别下,请单击“帐户”
  • 如果没有电子邮件帐户,请创建帐户
  • 就这样

    假设你的电子邮件地址是Pankaj@yourdomainname.com

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


    这将100%解决我在goDaddy共享主机的问题

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


    我费了好大劲才找到答案,希望这能帮到别人。我能够使用我的GoDaddy电子邮件帐户设置进行一段时间的中继,但出于任何原因,该设置停止工作。我现在使用标准的PHP邮件函数发送电子邮件,下面是用于发送电子邮件的.env配置。不确定是否需要端口或加密,但它正在工作,所以保持原样

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

    要首先向您的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
    

    原因之一可能是.env文件中的错误邮件\r\ver等。请确保你把正确的信息放在那里。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
    
    MAIL\u驱动程序=smtp
    MAIL_HOST=smtp.googlemail.com
    邮件端口=465
    MAIL_USERNAME=**@gmail.com
    邮箱密码=****
    邮件加密=ssl
    
    Laravel 7及以上版本的更新

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

    端口587很可能在您的服务器上被阻止。我尝试使用465,仍然存在相同的问题。您可以通过ssh连接到服务器吗?或者你可以扫描打开的端口,扫描后我得到了这个。请检查url中的屏幕截图。您是否已调整gmail设置以接受不太安全的应用程序@助手Godaddy根据国家使用奇怪的机制,使用Google.com(com不是另一个),粘贴
    Godaddy管理您的电子邮件帐户SMTP中继到搜索栏,如果您单击它,它会重定向您,请返回Google并尝试显示此页面的缓存Google副本您有Godaddy帐户吗?如果是这样的话,你能像你之前的悬赏答覆那样一步一步地给出指导方针吗?不,对不起,我没有,但是我认为如果您在
    .env
    文件中更改
    邮件主机
    ,应该可以立即使用。谢谢您的回答,但我一直得到这个
    连接无法与HOST relay-hosting.secureserver.net建立[连接被拒绝#111]
    我得到:StreamBuffer.php第268行中的Swift_TransportException:无法与StreamBuffer.php第268行中的主机localhost[#0]建立连接如果您已使用cpanel电子邮件帐户配置电子邮件,请转到cpanel并从URL@sadafsidiquit获取域名此解决方案正在运行,非常感谢……我很惊讶这个问题的解决方案竟如此简单。。再次非常感谢