Я довольно застрял в проблеме отправки почты с 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 поврежден. Я бы загрузил последнюю версию и повторил попытку.
Я всегда использовал SMTP-функцию phpMailer:
$mail->IsSMTP(); $mail->Host = "localhost";
И если вам нужна информация об отладке:
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only