我试图使用以下代码发送电子邮件:
'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的某个地方宣布它会让它发挥作用。
有什么建议吗?
答案 0 :(得分:0)
这不是一个身份验证问题 - 它没有那么远。
Host
属性已记录为here,Host
字符串会在;
上拆分。您已在Host
属性中两次列出了相同的服务器。尝试将其设置为a2plcpnl0286.prod.iad2.secureserver.net
。除此之外,设置SMTPDebug = 4
,您将得到详细的输出,告诉您有关连接的信息。
您应该检查该电子邮件服务器是否实际可访问 - the troubleshooting guide中介绍了如何执行此操作。
确保您也使用latest PHPMailer。
我还注意到你是GoDaddy,他的电子邮件支持非常糟糕。