avisota / core
Avisota mailing system core components
Requires
- php: ^5.6
- doctrine/dbal: ^2.4
Requires (Dev)
- monolog/monolog: ^1.0
- phpcq/all-tasks: ^1.2
- swiftmailer/swiftmailer: ^4.0
- symfony/event-dispatcher: ^2.0
README
The Avisota core system is a message generation, queue and transport system, based on top of the great Swift Mailer.
Avisota is not designed to replace Swift Miler, but it is designed to manage the pre-ransport process.
On the one hand Swift Miler can only handle stateful Swift_Message
s. On the other hand Avisota handles stateless MessageInterface
's.
You can define what a MessageInterface may be: a message template, a stateful message object or even a native Swift_Message
.
The following chart shows what you can do with the Avisota messaging system, what in most cases is impossible with Swift Mailer.
------------
| Server 1 | -\
------------ |
V
create message
| ------------
V | Server 3 |
enqueue message ------------
| |
V V
store in database on get messages from queue
| |
V |
------------ /----------------/
| Server 2 |
------------ \-----\
|
V
send via smtp (swift)
As you can see, server 1 creates the message and stores it in a queue on server 2.
Server 3 reads the messages from server 2 and sends them via SMTP.
You can do this even with plain Swift_Message
objects, but it will be difficult if you need to work with attachments for example.
With your own MessageInterface
implementation, you have the full control in your hands.