Example #1
0
 /**
  * {@inheritdoc}
  */
 public function send($transport, $message, $template = null, array $variables = array(), $type = MailTypes::TYPE_ALL)
 {
     $transportName = $transport;
     $transport = $this->getTransport($transport);
     $mailRendered = null !== $template ? $this->templater->render($template, $variables, $type) : null;
     $preEvent = new FilterPreSendEvent($transportName, $message, $mailRendered);
     $this->dispatcher->dispatch(MailerEvents::TRANSPORT_PRE_SEND, $preEvent);
     $res = $transport->send($preEvent->getMessage(), $preEvent->getMailRendered());
     $postEvent = new FilterPostSendEvent($res, $transportName, $message, $mailRendered);
     $this->dispatcher->dispatch(MailerEvents::TRANSPORT_POST_SEND, $postEvent);
     return $res;
 }