2011-06-07 91 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