123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?php
- /*
- * This file is part of SwiftMailer.
- * (c) 2009 Fabien Potencier <fabien.potencier@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- /**
- * Pretends messages have been sent, but just ignores them.
- *
- * @author Fabien Potencier
- */
- class Swift_Transport_NullTransport implements Swift_Transport
- {
- /** The event dispatcher from the plugin API */
- private $_eventDispatcher;
- /**
- * Constructor.
- */
- public function __construct(Swift_Events_EventDispatcher $eventDispatcher)
- {
- $this->_eventDispatcher = $eventDispatcher;
- }
- /**
- * Tests if this Transport mechanism has started.
- *
- * @return bool
- */
- public function isStarted()
- {
- return true;
- }
- /**
- * Starts this Transport mechanism.
- */
- public function start()
- {
- }
- /**
- * Stops this Transport mechanism.
- */
- public function stop()
- {
- }
- /**
- * Sends the given message.
- *
- * @param Swift_Mime_Message $message
- * @param string[] $failedRecipients An array of failures by-reference
- *
- * @return int The number of sent emails
- */
- public function send(Swift_Mime_Message $message, &$failedRecipients = null)
- {
- if ($evt = $this->_eventDispatcher->createSendEvent($this, $message)) {
- $this->_eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed');
- if ($evt->bubbleCancelled()) {
- return 0;
- }
- }
- if ($evt) {
- $evt->setResult(Swift_Events_SendEvent::RESULT_SUCCESS);
- $this->_eventDispatcher->dispatchEvent($evt, 'sendPerformed');
- }
- $count = (
- count((array) $message->getTo())
- + count((array) $message->getCc())
- + count((array) $message->getBcc())
- );
- return $count;
- }
- /**
- * Register a plugin.
- *
- * @param Swift_Events_EventListener $plugin
- */
- public function registerPlugin(Swift_Events_EventListener $plugin)
- {
- $this->_eventDispatcher->bindEventListener($plugin);
- }
- }
|