我想在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);
错误。
答案 0 :(得分:3)
您不能将控制器实例化为通常的类,然后调用其方法,因为您没有注入服务容器。请改为创建邮件服务。有关详细信息,请阅读Service Container章节。
答案 1 :(得分:0)
试试这个:更改顺序,在创建新的swift_message之前获取mailer
:
$this->get('mailer')->send($message);
$message = \Swift_Message::newInstance()