2017-08-01 49 views
1

命名爲「的newInstance」類的一個未定義的方法。由於過幾天我不能使用Symfony和Swiftmailer再發送電子郵件,但我使用從文檔中的代碼試圖調用「Swift_Message」

private function _sendResetPasswordEmail(UserInterface $user) 
{ 
    $subject = $this->get('translator')->trans('email-title-reset-password'); 
    $message = \Swift_Message::newInstance() 
     ->setSubject($subject) 
     ->setFrom('[email protected]') 
     ->setTo($user->getEmail()) 
     ->setBody(
      $this->renderView(
       'reset-password-email.html.twig', 
       ['user' => $user] 
      ), 
      'text/html' 
     ) 
    ; 
    $this->get('mailer')->send($message); 
} 

,並用來工作

,現在我可以在日誌中看到

"Attempted to call an undefined method named "newInstance" of class "Swift_Message" 

什麼可能有哪些變化?

回答

6

其實同時發佈的問題,並鏈接到的文檔,我很驚訝地看到它被更新

現在是

$message = (new \Swift_Message('Hello Email')) 

,而不是

$message = \Swift_Message::newInstance() 
     ->setSubject('Hello Email') 

自發布swiftmailer6根據更改日誌

https://github.com/swiftmailer/swiftmailer/blob/master/CHANGES#L24

很遺憾沒有「棄用」時期。