Phpmailer - recipients_failed

avril

Новичок
Phpmailer - recipients_failed

Здравствуйте.
Имеется код для отправки email - проверочный.

<?php
error_reporting(E_ALL);
require("phpmailer/class.phpmailer.php");

$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP

$mail->Host = "host"; // specify main and backup server
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "login"; // SMTP username
$mail->Password = "password"; // SMTP password

$mail->From = "[email protected]";
$mail->FromName = "Mailer";
$mail->AddAddress("[email protected]", "test");

$mail->WordWrap = 50; // set word wrap to 50 characters
$mail->IsHTML(true); // set email format to HTML

$mail->Subject = "Here is the subject";
$mail->Body = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}

echo "Message has been sent";
?>

Если запускаю на своем сервере (локально), все работает прекрасно.
Если же скинуть это на сервер заказчика, то выдается такая ошибка:

Message could not be sent.
Mailer Error: Language string failed to load: recipients_failed [email protected]

Пока что Гугль ответа не дал. Может кто сталкивался с подобным. В чём может быть дело?

-~{}~ 07.11.06 12:29:

P.S. Раньше у заказчика тоже все работало, пока там систему не переустановили...
 

SiMM

Новичок
Могли и сами в исходники заглянуть...
PHP:
// class.phpmailer.php
    /**
     * Returns a message in the appropriate language.
     * @access private
     * @return string
     */
    function Lang($key) {
        if(count($this->language) < 1)
            $this->SetLanguage("en"); // set the default language
    
        if(isset($this->language[$key]))
            return $this->language[$key];
        else
            return "Language string failed to load: " . $key;
    }
PHP:
// language/phpmailer.lang-en.php
$PHPMAILER_LANG["recipients_failed"] = 'SMTP Error: The following recipients failed: ';
Ну а дальше отладка и выяснение, почему именно массив $bad_rcpt в PHPMailer::SmtpSend не пуст.
 

avril

Новичок
Дело было в этой переменной
$mail->Host = "host";
Пришлось указать IP. Видимо проблема с DNS.
А вообще ответ на все дали "echo" в функции Recipient.
Надо было сразу это сделать =)
 
Сверху