0

我创建了一个 PHP 页面,让页面自动发送给用户,我尝试使用 PHPMailer,但它只显示“SMTP 错误:无法访问主机或类似的东西

这是我的代码:

PHPMailer x = new PHPMailer();
x->isSMTP();
x->Host = myhost;
x->Port = myport;
x->AddAddress(recipientAddress);
x->From = myEmail;
x->Username = username;
x->Password = password;
x.Send();
4

3 回答 3

1

这是您的代码的快速修复

$mail = new PHPMailer();
$mail->IsMail();
$mail->setCharset = "UTF-8";
$mail->Host = "localhost";
//    $mail->Port = "587"; you don't need it now 
    $mail->AddAddress("recipientAddress");
    $mail->setFrom = "myEmail";
    $mail->Subject = "Subject";
    $mail->Username = "username";
    $mail->Password = "password";
    $mail->SMTPDebug  = 2; // enables SMTP debug information (for testing)
                           // 1 = errors and messages
                           // 2 = messages only
    
    $mail->Send();

所以现在您将获得更多调试消息并跟踪您的错误并修复它们:)

更新:好的,这很容易:

函数 $mail->IsMail(); 表示必须使用 mail() 函数发送信件。其他方法有:

IsSendmail - 通过 sendmail 命令。

IsQmail - 直接通过 qMail MTA。

IsSMTP - 通过 SMTP 服务器。

于 2010-11-28T19:45:44.423 回答
0

尝试删除该isSMTP行,以便它使用 PHP 中配置的邮件设置。

于 2010-11-28T19:41:06.540 回答
0

这看起来您在 www 服务器上的SMTP 设置是错误的。

检查您是否可以使用您指定的 SMTP 配置发送电子邮件 - 如果不能:

  • 是否有 SMTP 服务器正在运行myhostmyport
  • 它是否在您用来与之交谈的界面上进行监听?
  • 它是否配置为接受来自您的主机的邮件?
  • 它是否配置为接受收件人的邮件?
于 2010-11-28T19:41:57.343 回答