2011-06-07 96 views
5

有实施swiftmailer新的Symfony2 BETA4一些问题,下面是我的代码Swiftmailer和Symfony2的

$mailer = $this->container->get('mailer'); 
$name = ucwords(str_replace('.',' ', $user->getScreenName())); 
$email = '[email protected]'; //$user->getEmail(); 
$message = $mailer::newInstance() 
     ->setSubject('New Password') 
     ->setFrom('Neokeo <[email protected]>') 
     ->setTo("$name <$email>") 
     ->setBody($this->renderView('MyBundle:User:reset.html.php', array('user',$user))); 

$mailer->send($message); 

和错误

Catchable fatal error: Argument 1 passed to Swift_Mailer::newInstance() must implement interface Swift_Transport, none given 

没有任何人有任何想法,我能做些什么来解决这个问题?

回答

9

$mailerSwift_Mailer类(它是用于发送消息的类)的一个实例,但对于创建消息,您需要Swift_Message类。

$message = Swift_Message::newInstance() 

http://swiftmailer.org/docs/message-quickref

+0

命名空间的原因应该是在Swift_Message前面的\。我发誓,我之前尝试过这一点,它给出了一个不同的错误,但这次它工作。所以谢谢:) – Ascherer 2011-06-07 17:04:04

+0

@Ascherer对不起,从未碰过Symfony之前:)。 – kapa 2011-06-07 17:05:00