SMTP 连接错误:“SMTP Connect() 失败。消息未发送。”
提供的用于使用 SMTP 发送电子邮件的 PHP 代码遇到错误,“SMTP -> 错误:无法连接到服务器:连接超时 (110)”。
问题源于包含 $mail->IsSMTP();和 $mail->Mailer = "smtp";代码中的行。这些行是多余的,一起使用时可能会导致配置冲突。
解决方案:
要解决该错误,请按照提供的解决方案进行注释或删除该行:
<code class="php">$mail->IsSMTP();</code>
删除此行后,PHPmailer 类使用 $mail->Mailer 设置来确定发送电子邮件的方法,在本例中为 SMTP。
示例代码:
<code class="php">// require necessary classes require 'class.phpmailer.php'; require 'class.smtp.php'; // initialize PHPMailer $mail = new PHPMailer(); // use SMTP $mail->Mailer = "smtp"; // configure SMTP settings $mail->SMTPDebug = 2; $mail->Host = "ssl://smtp.gmail.com"; $mail->Port = 587; $mail->SMTPAuth = true; $mail->Username = "[email protected]"; $mail->Password = "mypasswword"; $mail->Priority = 1; // set email details $mail->AddAddress("[email protected]", "Name"); $mail->SetFrom($visitor_email, $name); $mail->AddReplyTo($visitor_email, $name); // compose email $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 连接:为什么我收到'SMTP 连接()失败。消息未发送。”?的详细内容。更多信息请关注PHP中文网其他相关文章!