我很困惑从PHP脚本发送邮件时遇到问题。 一些数据:
以下是代码:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
$to = "myaddress@mydomain.com";
$subject = "Hi";
$body = "Test 1\nTest 2\nTest 3";
$headers = 'From: info@domain.com' . "\r\n" .
'errors-to: myaddress@mydomain.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if (mail($to, $subject, $body, $headers)) {
echo("Message successfully sent");
} else {
echo("Message sending failed");
}
require('class.phpmailer.php');
$message = "Hello world";
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
$mail->AddAddress("myaddress@mydomain.com", "Agos");
$mail->SetFrom("info@domain.com","My Site");
$mail->Subject = "Test Message";
$mail->Body = $message;
$mail->Send();
?>
这就是我得到的:
邮件发送失败 无法实例化邮件功能。
至少可以说是令人费解的。我能做些什么来获得至少一些更有意义的错误吗?为什么类中的代码出现在我的文件中?
答案 0 :(得分:39)
看起来class.phpmailer.php文件已损坏。我会下载the latest version然后重试。
我一直使用phpMailer的SMTP功能:
$mail->IsSMTP();
$mail->Host = "localhost";
如果您需要调试信息:
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only