debuggingPHP邮件()和/或PHPMailer

我很困扰从PHP脚本发送邮件的问题。 一些数据:

  • 共享主机,不需要SSH访问,只有主机提供商面板
  • PHP版本5.2.5
  • 去年,我build立了一个网站,没有问题发送邮件与同一主办
  • 假设下面的代码中的域名是“domain.com”,我的私人地址是“myaddress@mydomain.com”。

代码如下:

<?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(); ?> 

这里是我得到的:

邮件发送失败无法实例化邮件function。

至less可以说是莫名其妙的。 有什么我可以做,至less得到一些更有意义的错误? 为什么从我的文件中显示类的代码?

它看起来像class.phpmailer.php文件已损坏。 我会下载最新版本,然后重试。

我一直使用phpMailer的SMTPfunction:

 $mail->IsSMTP(); $mail->Host = "localhost"; 

如果你需要debugging信息:

 $mail->SMTPDebug = 2; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only 
Interesting Posts