Symfony - 电子邮件管理

电子邮件功能是 Web 框架中最需要的功能。即使是简单的应用程序也会有一个联系表单,详细信息将通过电子邮件发送给系统管理员。Symfony 集成了 SwiftMailer,这是市场上最好的 PHP 电子邮件模块。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 方法发送消息并打印 Mail send 消息。

现在,运行页面 http://localhost:8000/mailsample/send,结果如下。

Mail Send