/** * {@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; }