/**
  * @inheritdoc
  */
 public function dispatchEvent(Swift_Events_EventObject $evt, $target)
 {
     parent::dispatchEvent($evt, $target);
     if ($evt->bubbleCancelled()) {
         return;
     }
     $eventName = $this->normalizeEventName($evt, $target);
     $this->eventDispatcher->trigger($eventName, ['swiftEventObject' => $evt]);
 }
Exemple #2
0
 /**
  * @param string $transport
  * @return Swift_Mailer
  * @throws TransportException
  */
 public function spoolWithTransport($transport = '')
 {
     $spool = $this->spoolTransport;
     if ($spool === null) {
         throw new TransportException('Mailer spool is not configured.');
     }
     $spoolRealTransport = $this->getTransport($transport);
     $this->eventDispatcher->attach(self::SPOOL_SEND_EVENT, 'send.swiftmailer.spooled', function () use($spoolRealTransport, $spool) {
         $failedRecipients = [];
         $spool->getSpool()->flushQueue($spoolRealTransport(), $failedRecipients);
         return $failedRecipients;
     });
     return new Swift_Mailer($this->spoolTransport);
 }