PHPMailer无法连接到SMTP主机



得到以下错误:

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容器解决了这个问题。

相关内容

  • 没有找到相关文章

最新更新