Php 发送SMTP邮件时出错

Php 发送SMTP邮件时出错,php,email,smtp,phpmailer,smtp-auth,Php,Email,Smtp,Phpmailer,Smtp Auth,尝试使用SMTP从Windows服务器发送邮件。 我得到了这个错误 Fatal error: Class 'SMTP' not found in... 当我使用PHPmailerAutoload.php时,它只会给出 Fatal error: Call to undefined method SMTP::setDebugLevel() in... 我的代码是 error_reporting(E_ALL); ini_set('display_errors','1'); require_once

尝试使用SMTP从Windows服务器发送邮件。 我得到了这个错误

Fatal error: Class 'SMTP' not found in...
当我使用PHPmailerAutoload.php时,它只会给出

Fatal error: Call to undefined method SMTP::setDebugLevel() in...
我的代码是

error_reporting(E_ALL);
ini_set('display_errors','1');
require_once('class.phpmailer.php');
include("class.smtp.php"); 

$mail = new PHPMailer(); 
$mail->IsSMTP();
$mail->SMTPDebug  = 1;
$mail->SMTPAuth   = true;
$mail->Host       = "mail.host.com.au";
$mail->Port       = 25;
$mail->Username   = "myusername";
$mail->Password   = "mypassword";
$mail->SetFrom('info@company.com.au', 'First Last');
$mail->AddReplyTo("info@company.com.au","First Last");
$mail->Subject    = "PHPMailer Test Subject";
$body             = "test";
$mail->MsgHTML($body);

$address = "myemail@gmail.com";
$mail->AddAddress($address, "John Doe");

if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}

请提供任何建议。

我做这件事也有同样的问题。。我解决了。。 打开PHPMailer,在class.PHPMailer.php中,在php块的开头添加这一行:require_once('class.smtp.php'); 这肯定会奏效的。。或者,您可以从此链接下载这两个文件:


下载phpmailer它只有两个必需的文件,并将其替换为phpmailer的文件。。它会工作的

我做这件事也有同样的问题。。我解决了。。 打开PHPMailer,在class.PHPMailer.php中,在php块的开头添加这一行:require_once('class.smtp.php'); 这肯定会奏效的。。或者,您可以从此链接下载这两个文件:


下载phpmailer它只有两个必需的文件,并将其替换为phpmailer的文件。。它将起作用

您在这一行中遗漏了
替换
$mail->Subject=“PHPMailer Test Subject";
将SMTPDebug设置为false
$mail->SMTPDebug=false没有发生任何事情相同的错误显示…我的代码是完美的,然后我在谷歌上读到有几个版本的phpmailer类可用,所以我尝试了不同的版本,它起了作用。感谢您宝贵的时间。您错过了这一行中的
替换
$mail->Subject=“phpmailer Test Subject";
将SMTPDebug设置为false
$mail->SMTPDebug=false没有发生任何事情相同的错误显示…我的代码是完美的,然后我在谷歌上看到有几个版本的phpmailer类可用,所以我尝试了不同的版本,它工作了。感谢您宝贵的时间。我已经在class.phpmailer.php文件中添加了,但它现在显示“致命错误:调用未定义的方法SMTP::setTimeout”()在…“我无法打开你的github链接。你能检查一下吗。你是否删除了include(“class.smtp.php”)从你上面展示的代码来看??我的代码很完美,然后我在谷歌上看到有几个版本的phpmailer类可用,所以我尝试了不同的版本,效果很好。我可以打开这个github链接..效果很好..我尝试了3个不同的浏览器,我工作了..不知道你的问题出在哪里。我在e文件class.phpmailer.php,但它现在显示“致命错误:在…”中调用未定义的方法SMTP::setTimeout()”,我无法打开您的github链接。请检查它。是否删除了include(“class.SMTP.php”)从你上面展示的代码来看??我的代码很完美,然后我在谷歌上看到有几个版本的phpmailer类可用,所以我尝试了不同的版本,效果很好。我可以打开这个github链接。效果很好。我尝试了3个不同的浏览器,我都成功了。不知道你的问题出在哪里。