得到以下错误:
SMTP->错误:无法连接到服务器:php_network_getaddresses:getaddrinfo失败:不知道这样的主机。(0)SMTP错误:无法连接到SMTP主机。发送此邮件时出现问题!
这是我的配置文件设置,因为我已经遵循了这个PHPMailer教程
// Configuration settings for My Site
// Email Settings
$site['from_name'] = 'Manish Dekavadiya'; // from email name
$site['from_email'] = 'manish@<my-domain>.com'; // from email address
// Just in case we need to relay to a different server,
// provide an option to use external mail server.
$site['smtp_mode'] = 'enabled'; // enabled or disabled
$site['smtp_host'] = "smtp.<my-domain>.com";
$site['smtp_port'] = 587;
$site['smtp_username'] = "manish@<my-domain>.com";
$site['smtp_password']="<password>";
并使用了mailer类和教程中提到的扩展类,如下所示:
/*****sendmail.php***/
// Grab our config settings
require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');
// Grab the FreakMailer class
//echo $_SERVER['DOCUMENT_ROOT'];
require_once($_SERVER['DOCUMENT_ROOT'].'/lib/MailClass.inc');
// instantiate the class
$mailer = new FreakMailer();
// Set the subject
$mailer->Subject = 'This is a test';
$mailer->SMTPDebug = 1;
// Body
$mailer->Body = 'This is a test of my mail system!';
// Add an address to send to.
$mailer->AddAddress('manish.dekavadiya@gmail.com', 'Manish Dekavadiya');
if(!$mailer->Send())
{
echo 'There was a problem sending this mail!';
}
else
{
echo 'Mail sent!';
}
$mailer->ClearAddresses();
$mailer->ClearAttachments();
当我尝试phpmailer docs@examples/testrongmtp_gmail_basic.php 中给出的示例时,也出现了另一个错误
SMTP->错误:无法连接到服务器:php_network_getaddresses:getaddrinfo失败:没有这样的主机已知。(0)SMTP错误:无法连接到SMTP主机。有一个发送此邮件时出现问题!
所以一定存在设置或配置错误。不可能有代码错误。
SMTP是否在上设置?如果是这样的话,它被配置为监听smtp。。com在端口587上?如果服务器不是自己设置的,他们监听邮件的情况并不少见。。com。此外,尝试连接到端口25,看看它是否可以配置为侦听默认的smtp端口。
在任何情况下,错误消息都非常清楚。主机没有响应您的连接尝试。原因可能是服务器和PHP中的错误配置、防火墙问题、路由问题、DNS问题等。
希望这能帮助其他人,因为我正在与同样的错误作斗争。首先我得到了。我收到一个错误,说它无法连接()。然后我打开了调试,得到了你提到的错误。对我有效的解决方案是更改smtp。。com到ip地址。
$mail->Host = 'smtp.whateverDomain.com';
至
$mail->Host = 'theIPaddress';
调试
$mail->SMTPDebug = 1; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
我不久前遇到了这个问题,一切都很好,但问题仍然存在。httpd.service的重新启动解决了这个问题。
在运行带有apache Web服务器的docker容器的计算机重新启动后出现此问题。
Apache服务器托管的php代码在计算机重新启动后停止发送电子邮件。
重新启动apachedocker容器解决了这个问题。