我非常困扰于从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(); ?>
这就是我得到的:
邮件发送失败无法实例化邮件功能。
至少可以说这令人困惑。我有什么办法要做,至少可以得到一些更有意义的错误?为什么类中的代码显示在我的文件中?
看来class.phpmailer.php文件已损坏。我将下载最新版本,然后重试。
我一直使用phpMailer的SMTP功能:
$mail->IsSMTP(); $mail->Host = "localhost";
如果您需要调试信息:
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only