SMTP 错误:无法连接到服务器:php_network_getaddresses:getaddrinfo 失败:不知道这样的主机 | PHP 邮件程序 6.5
Posted
技术标签:
【中文标题】SMTP 错误:无法连接到服务器:php_network_getaddresses:getaddrinfo 失败:不知道这样的主机 | PHP 邮件程序 6.5【英文标题】:SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: No such host is known | PHP Mailer 6.5 【发布时间】:2021-09-16 05:54:25 【问题描述】:尝试使用 phpMailer 6.5(当前最新版本)发送邮件。大部分代码是从 PHPMailer 复制粘贴的。所以我希望不需要解释。
错误:
2021-07-05 13:21:33 SMTP ERROR: Failed to connect to server:
php_network_getaddresses: getaddrinfo failed: No such host is known. (0)
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Message has been sent
代码
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;
require 'vendor/autoload.php';
$mail = new PHPMailer();
try
//Server settings
$mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output
$mail->isSMTP(); //Send using SMTP
$mail->Host = 'smtp.example.com'; //Set the SMTP server to send through
$mail->SMTPAuth = true;
$mail->Username = 'foo@gmail.com'; //SMTP username
$mail->Password = '*******'; //SMTP password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption
$mail->Port = 465;
$mail->setFrom('foo@gmail.com', 'Megasoft Money');
$mail->addAddress('foo2@gmail.com');
$mail->addReplyTo('foo@gmail.com', 'Megasoft Money');
//Content
$mail->ishtml(true); //Set email format to HTML
$mail->Subject = 'PHP Mailer Subject';
$mail->Body = 'Hi, this is a test body.';
$mail->send();
echo 'Message has been sent';
catch (Exception $e)
echo "Message could not be sent. Mailer Error: $mail->ErrorInfo";
【问题讨论】:
它完全是从 PHPMailer 示例中复制/粘贴的,除了您遗漏的部分,这就是它崩溃的原因。重新添加use
语句。如果您使用作曲家,则不需要为单个类使用这些 require
语句。自述文件介绍了如何在有和没有作曲家的情况下加载 PHPMailer。
【参考方案1】:
您需要限定类名。使用use
语句:
use PHPMailer\PHPMailer\PHPMailer;
或者只是完全限定它:
$a = new PHPMailer\PHPMailer\PHPMailer();
我会推荐 use
版本,因为否则您最终将不得不多次编写完全合格的版本。
您还必须使用 SMTP
重复此操作
【讨论】:
以上是关于SMTP 错误:无法连接到服务器:php_network_getaddresses:getaddrinfo 失败:不知道这样的主机 | PHP 邮件程序 6.5的主要内容,如果未能解决你的问题,请参考以下文章
Lumen phpmailer:SMTP错误:无法连接到服务器:
PHPMailer:SMTP错误:10051无法连接到服务器:尝试对无法访问的网络执行套接字操作
SMTP 错误:无法连接到服务器:php_network_getaddresses:getaddrinfo 失败:不知道这样的主机 | PHP 邮件程序 6.5