Overview

Namespaces

  • Avisota
    • Event
    • Message
    • Queue
    • Recipient
    • RecipientSource
    • Renderer
    • Templating
    • Test
      • Database
      • Imap
      • Message
      • Queue
      • Renderer
      • Transport
    • Transport

Classes

  • AbstractSwiftTransport
  • AbstractTransport
  • QueueTransport
  • SmtpTransport
  • SwiftTransport
  • TransportStatus

Interfaces

  • TransportInterface
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Todo
  • Download
 1: <?php
 2: 
 3: /**
 4:  * Avisota newsletter and mailing system
 5:  *
 6:  * PHP Version 5.3
 7:  *
 8:  * @copyright  bit3 UG 2013
 9:  * @author     Tristan Lins <tristan.lins@bit3.de>
10:  * @package    avisota-core
11:  * @license    LGPL-3.0+
12:  * @link       http://avisota.org
13:  */
14: 
15: namespace Avisota\Transport;
16: 
17: use Avisota\Message\MessageInterface;
18: use Avisota\Renderer\MessageRendererInterface;
19: 
20: /**
21:  * Transport using a pre configured swift transport.
22:  *
23:  * @package avisota-core
24:  */
25: class SwiftTransport extends AbstractTransport
26: {
27:     /**
28:      * @var \Swift_Mailer|null
29:      */
30:     protected $swiftMailer;
31: 
32:     public function __construct(\Swift_Mailer $swiftMailer, MessageRendererInterface $renderer)
33:     {
34:         $this->setSwiftMailer($swiftMailer);
35:         $this->setRenderer($renderer);
36:     }
37: 
38:     /**
39:      * @param \Swift_Mailer $swiftMailer
40:      */
41:     public function setSwiftMailer(\Swift_Mailer $swiftMailer)
42:     {
43:         $this->swiftMailer = $swiftMailer;
44:         return $this;
45:     }
46: 
47:     /**
48:      * @return \Swift_Mailer
49:      */
50:     public function getSwiftMailer()
51:     {
52:         return $this->swiftMailer;
53:     }
54: 
55:     /**
56:      * {@inheritdoc}
57:      */
58:     public function initialise()
59:     {
60:     }
61: 
62:     /**
63:      * {@inheritdoc}
64:      */
65:     public function flush()
66:     {
67:     }
68: 
69:     /**
70:      * {@inheritdoc}
71:      */
72:     public function send(MessageInterface $message)
73:     {
74:         $email = $this->renderer->renderMessage($message);
75: 
76:         $failedRecipients = array();
77:         $successfullySendCount = $this->swiftMailer->send($email, $failedRecipients);
78: 
79:         return new TransportStatus($message, $successfullySendCount, $failedRecipients);
80:     }
81: }
82: 
avisota/core API documentation generated by ApiGen 2.8.0