123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
-
- /*
- * This file is part of SwiftMailer.
- * (c) 2004-2009 Chris Corbyn
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
- /**
- * Swift Mailer class.
- *
- * @package Swift
- * @author Chris Corbyn
- */
- class Swift_Mailer
- {
- /** The Transport used to send messages */
- private $_transport;
-
- /**
- * Create a new Mailer using $transport for delivery.
- *
- * @param Swift_Transport $transport
- */
- public function __construct(Swift_Transport $transport)
- {
- $this->_transport = $transport;
- }
-
- /**
- * Create a new Mailer instance.
- *
- * @param Swift_Transport $transport
- * @return Swift_Mailer
- */
- public static function newInstance(Swift_Transport $transport)
- {
- return new self($transport);
- }
-
- /**
- * Create a new class instance of one of the message services
- * For example 'mimepart' would create a 'message.mimepart' instance
- *
- * @param string $service
- * @return object
- */
- public function createMessage($service = 'message')
- {
- return Swift_DependencyContainer::getInstance()
- ->lookup('message.'.$service);
- }
-
- /**
- * Send the given Message like it would be sent in a mail client.
- *
- * All recipients (with the exception of Bcc) will be able to see the other
- * recipients this message was sent to.
- *
- * Recipient/sender data will be retrieved from the Message object.
- *
- * The return value is the number of recipients who were accepted for
- * delivery.
- *
- * @param Swift_Mime_Message $message
- * @param array &$failedRecipients, optional
- * @return int
- */
- public function send(Swift_Mime_Message $message, &$failedRecipients = null)
- {
- $failedRecipients = (array) $failedRecipients;
-
- if (!$this->_transport->isStarted()) {
- $this->_transport->start();
- }
-
- $sent = 0;
-
- try {
- $sent = $this->_transport->send($message, $failedRecipients);
- } catch (Swift_RfcComplianceException $e) {
- foreach ($message->getTo() as $address => $name) {
- $failedRecipients[] = $address;
- }
- }
-
- return $sent;
- }
-
- /**
- * Register a plugin using a known unique key (e.g. myPlugin).
- *
- * @param Swift_Events_EventListener $plugin
- * @param string $key
- */
- public function registerPlugin(Swift_Events_EventListener $plugin)
- {
- $this->_transport->registerPlugin($plugin);
- }
-
- /**
- * The Transport used to send messages.
- * @return Swift_Transport
- */
- public function getTransport()
- {
- return $this->_transport;
- }
- }
|