无法使用Laravel 5.0.33发送电子邮件

时间:2016-01-11 06:51:38

标签: php email laravel phpmailer

我试图使用以下代码发送电子邮件:

'driver' => 'smtp',
'host' => 'a2plcpnl0296.prod.iad2.secureserver.net;a2plcpnl0296.prod.iad2.secureserver.net',
'port' => 587,
'from' => ['address' => 'contact@theventuregame.com', 'name' => 'The Venture Game TM'],
'encryption' => 'tls',
'username' => 'xxx',
'password' => 'yyy',
'pretend' => false,

当我尝试使用这些conf发送电子邮件时,错误显示如下: 无法与主机a2plcpnl0296.prod.iad2.secureserver.net建立连接; a2plcpnl0296.prod.iad2.secureserver.net [php_network_getaddresses:getaddrinfo failed:没有这样的主机已知。 #0]。

我想我知道问题是什么,将SMTP身份验证添加到true,但我不知道在哪里可以放置该参数。

另一方面,我有这个代码完全正常,但我想要Laravel一个配置,因为它更干净:

        $this->mail = new PHPMailer;
        $this->mail->isSMTP();                                      // Set mailer to use SMTP
        $this->mail->Host = 'a2plcpnl0286.prod.iad2.secureserver.net;a2plcpnl0286.prod.iad2.secureserver.net';  // Specify main and backup SMTP servers
        $this->mail->SMTPAuth = true;                               // Enable SMTP authentication
        $this->mail->Username = 'xxx';                 // SMTP username
        $this->mail->Password = 'yyy';                           // SMTP password
        $this->mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
        $this->mail->Port = 587;                                    // TCP port to connect to

        $this->mail->From = 'contact@theventuregame.com';
        $this->mail->FromName = 'The Venture Game TM';

正如您在上面的代码中看到的那样,我有这个:

$this->mail->SMTPAuth = true; 

我认为如果我能在Laravel的某个地方宣布它会让它发挥作用。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这不是一个身份验证问题 - 它没有那么远。

Host属性已记录为hereHost字符串会在;上拆分。您已在Host属性中两次列出了相同的服务器。尝试将其设置为a2plcpnl0286.prod.iad2.secureserver.net。除此之外,设置SMTPDebug = 4,您将得到详细的输出,告诉您有关连接的信息。

您应该检查该电子邮件服务器是否实际可访问 - the troubleshooting guide中介绍了如何执行此操作。

确保您也使用latest PHPMailer

我还注意到你是GoDaddy,他的电子邮件支持非常糟糕。