SMTP Connect() 错误:连接超时故障排除
尝试使用 PHPMailer 发送电子邮件时,用户可能会遇到以下错误:“SMTP -> 错误:无法连接到服务器:连接超时 (110)SMTP Connect() 消息未发送。邮件程序错误:SMTP Connect() 失败。”此错误通常源于服务器和 PHP 脚本之间的连接困难。
在检查提供的 PHP 代码时,注意到“$mail->IsSMTP();”行在场。根据 PHPMailer 的文档,此方法已被弃用并且不再需要。删除或注释掉这一行可以解决连接超时问题:
<code class="php">// Remove or comment out the following line: // $mail->IsSMTP();</code>
通过删除或注释掉“IsSMTP()”方法,可以成功建立与 SMTP 服务器的连接。下面的完整代码演示了更正后的 PHPMailer 配置:
<code class="php">require 'class.phpmailer.php'; // path to the PHPMailer class require 'class.smtp.php'; $mail = new PHPMailer(); $mail->Mailer = "smtp"; $mail->SMTPDebug = 2; $mail->Host = "ssl://smtp.gmail.com"; $mail->Port = 587; $mail->SMTPAuth = true; // turn on SMTP authentication $mail->Username = "[email protected]"; // SMTP username $mail->Password = "mypasswword"; // SMTP password $Mail->Priority = 1; $mail->AddAddress("[email protected]","Name"); $mail->SetFrom($visitor_email, $name); $mail->AddReplyTo($visitor_email,$name); $mail->Subject = "Message from Contact form"; $mail->Body = $user_message; $mail->WordWrap = 50; if(!$mail->Send()) { echo 'Message was not sent.'; echo 'Mailer error: ' . $mail->ErrorInfo; } else { echo 'Message has been sent.'; }</code>
通过实施这些更改,应该解决错误“SMTP Connect() failed”,从而允许使用 SMTP 身份验证通过 PHPMailer 成功发送电子邮件。
以上是如何使用 PHPMailer 解决 SMTP Connect() 超时问题?的详细内容。更多信息请关注PHP中文网其他相关文章!