📅  最后修改于: 2023-12-03 15:05:13.822000             🧑  作者: Mango
本文将介绍 SMTP Connect() 失败的错误信息和产生原因,以及如何解决此错误。
当使用 PHP 中的 SMTP 函数发送邮件时,可能会遇到“SMTP Connect() 失败”的错误,导致无法连接到邮件服务器并发送电子邮件。此错误通常表示 SMTP 函数无法连接到指定的邮件服务器,并显示“连接被拒绝”的错误代码 111。
这个问题通常是由以下几个原因引起的:
要解决此问题,请采取以下措施:
以下是一个简单的示例代码,通过 PHP 中的 SMTP 函数发送邮件:
<?php
require_once "Mail.php";
$from = "sender@example.com";
$to = "recipient@example.com";
$subject = "Test email";
$body = "This is a test email.";
$host = "smtp.example.com";
$port = "587";
$username = "username";
$password = "password";
$headers = array (
"From" => $from,
"To" => $to,
"Subject" => $subject
);
$smtp = Mail::factory("smtp", array(
"host" => $host,
"port" => $port,
"auth" => true,
"username" => $username,
"password" => $password
));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo "Error: " . $mail->getMessage();
} else {
echo "Mail sent successfully.";
}
?>
在此示例代码中,我们使用了“smtp.example.com”作为 SMTP 服务器地址,端口号为“587”,需要身份验证,并提供了正确的用户名和密码。如果 SMTP 服务器连接成功并成功发送邮件,则将打印“Mail sent successfully.”。如果未连接到 SMTP 服务器,则将出现“SMTP Connect() 失败”的错误信息。