Отладка PHP Mail () и / или PHPMailer

Я довольно застрял в проблеме отправки почты с PHP-скрипта. Некоторые данные:

  • Общий хостинг, отсутствие доступа к SSH, только панель поставщика хостинга
  • PHP версия 5.2.5
  • В прошлом году я построил сайт, у которого не было проблем с отправкой почты с тем же хостингом
  • Предположим, что домен «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(); ?> 

И вот что я получаю:

Ошибка отправки сообщения Не удалось создать почтовую функцию.

Это, по меньшей мере, озадачивает. Есть ли что-нибудь, что я могу сделать, чтобы получить хотя бы более значимые ошибки? Почему код из класса отображается в моем файле?

Похоже, файл class.phpmailer.php поврежден. Я бы загрузил последнюю версию и повторил попытку.

Я всегда использовал SMTP-функцию phpMailer:

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

И если вам нужна информация об отладке:

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