Письмо SwiftMailer в Kohana запускает преобразование массива в строку - PullRequest
3 голосов
/ 16 сентября 2011

Я пытаюсь написать письмо на Kohana, используя SwiftMailer, но продолжаю сталкиваться с ошибкой о преобразовании массива в строку.

Мой код такой:

$mailer = Email::connect();
$to = 'boboz@gmail.com';
$from = 'no-reply@yahoo.com';
$subject = 'Hey, say hello!';
$body = 'Hello World!';
$message_swift = Swift_Message::newInstance($subject, $body)
    ->setFrom($from)
    ->setTo($to);
if ($mailer->send($message_swift))
{
    echo 'Massage Send! Bravo!';
}
else
{
    echo 'Message failed! Booo!';
}

Отображаемая ошибка:

MODPATH / электронная почта kohana / vendor / swift / classes / Swift / Transport / MailTransport.php [183] Ошибка: ErrorException [Примечание]: преобразование массива в строку

Часть SwiftMailer, на которую он ссылается, находится здесь:

178       $headers = str_replace("\r\n.", "\r\n..", $headers);
179       $body = str_replace("\r\n.", "\r\n..", $body);
180     }
181     
182     if ($this->_invoker->mail($to, $subject, $body, $headers,
183       sprintf($this->_extraParams, $reversePath)))
184     {
185       if ($evt)
186       {
187         $evt->setResult(Swift_Events_SendEvent::RESULT_SUCCESS);
188         $evt->setFailedRecipients($failedRecipients);

Почему я получаю эту ошибку преобразования переменных?

Ответы [ 2 ]

3 голосов
/ 19 сентября 2011

Необходимо убедиться, что драйвер настроен на правильное значение в файле конфигурации с именем email.php, который находится в папке конфигурации.

0 голосов
/ 18 сентября 2011

$to должен быть массивом:

$to = array($email => $name);

или просто

$to = array($email);

вы могли бы сделать:

$message_swift = Swift_Message::newInstance($subject, $body)
->setFrom(array($from))
->setTo(array($to));

То же самое относится и к setFrom.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...