我正在尝试使用SwiftMailer在Kohana中发送电子邮件,但不断遇到有关数组到字符串转换的错误。
我的代码是:
$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-email / 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);
为什么我收到此变量转换错误?
答案 0 :(得分:3)
您需要确保在配置文件夹中找到的名为email.php的配置文件中将驱动程序设置为正确的值。
答案 1 :(得分:0)
$to
应该是一个数组:
$to = array($email => $name);
或只是
$to = array($email);
你可以这样做:
$message_swift = Swift_Message::newInstance($subject, $body)
->setFrom(array($from))
->setTo(array($to));
setFrom
同样如此。