avisota / core
Avisota邮件系统核心组件
1.2.5
2018-06-07 16:18 UTC
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
Avisota核心系统是一个基于Swift Mailer的消息生成、队列和传输系统。
Avisota不是用来替代Swift Mailer的,但它是用来管理预传输过程的。一方面,Swift Mailer只能处理有状态的Swift_Message
对象。另一方面,Avisota处理无状态的MessageInterface
。你可以定义MessageInterface可能是什么:一个消息模板、一个有状态的消息对象,甚至是本地的Swift_Message
。
以下图表显示了你可以使用Avisota消息系统做什么,这在大多数情况下使用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)
如你所见,服务器1创建消息并将其存储在服务器2的队列中。服务器3从服务器2读取消息并通过SMTP发送。你可以用普通的Swift_Message
对象这样做,但如果需要处理附件等,将会很困难。通过你自己的MessageInterface
实现,你可以完全掌控。