首页 >后端开发 >php教程 >SMTP 连接:为什么我收到'SMTP 连接()失败。消息未发送。”?

SMTP 连接:为什么我收到'SMTP 连接()失败。消息未发送。”?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-21 17:48:03713浏览

SMTP Connection: Why am I Getting

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn