Symfony - 電子郵件管理



郵件功能是 Web 框架中最需要的一項功能。即便是一個簡單的應用程式也會有聯絡方式表單,並且詳細資訊將透過電子郵件傳送給系統管理員。Symfony 集成了市面上最好的 PHP 電子郵件模組 **SwiftMailer**。SwiftMailer 是一個出色的電子郵件庫,提供了一個選項,可以將電子郵件傳送到從傳統的 Sendmail 到最新的基於雲的郵件應用程式。

透過傳送一封簡單的電子郵件,讓我們來了解在 Symfony 中郵件的概念。在編寫郵件程式功能前,在 **app/config/parameters.yml** 中設定郵件配置詳細資訊。然後,在 **DefaultController** 中建立一個新函式 **MailerSample** 並新增以下程式碼。

/** 
   * @Route("/mailsample/send", name="mail_sample_send") 
*/ 
public function MailerSample() { 
   $message = \Swift_Message::newInstance() 
      ->setSubject('Hello Email') 
      ->setFrom('someone@gmail.com') 
      ->setTo('anotherone@gmail.com') 
      ->setBody( 
      $this->renderView('Emails/sample.html.twig'), 'text/html' );  
      
   $this->get('mailer')->send($message);  
   return new Response("Mail send"); 
}

在此,我們僅使用 **SwiftMailer** 元件建立了一個訊息,並使用 **Twig** 模板呈現了郵件正文。然後,我們用鍵“mailer”從控制器的 **get** 方法中取來了郵件元件。最後,我們使用 **send** 方法傳送了訊息,並列印了 **郵件已傳送** 訊息。

現在,執行頁面,**https://:8000/mailsample/send**,結果如下。

Mail Send
廣告