将Symfony2与SwiftMail一起使用时,renderView失败

时间:2012-04-05 14:26:28

标签: symfony swiftmailer

我想在Symfony2中使用SwiftMailer。 首先,我创建了一个新控制器并从http://symfony.com/doc/current/cookbook/email/email.html复制了样本。 当我尝试执行renderView时,收到以下错误消息:Fatal error: Call to a member function get() on a non-object in var/www/project/Symfony/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php on line 84

我尝试了各种各样的东西,但它们总是会在控制器中出错。

不仅renderView而且$this->get('mailer')->send($message);错误。

2 个答案:

答案 0 :(得分:3)

您不能将控制器实例化为通常的类,然后调用其方法,因为您没有注入服务容器。请改为创建邮件服务。有关详细信息,请阅读Service Container章节。

答案 1 :(得分:0)

试试这个:更改顺序,在创建新的swift_message之前获取mailer

$this->get('mailer')->send($message);

$message = \Swift_Message::newInstance()