kde-playground/kdepimlibs/mailtransport/DESIGN
2015-04-14 21:49:29 +00:00

22 lines
1.1 KiB
Text

Glossary:
New apps == apps using MessageQueueJob.
Old apps == apps using the MailTransport jobs directly.
Traditional transports == SMTP and Sendmail, which are handled by MailTransport.
Resource-based transports == Akonadi-based transports, which are handled by the MDA.
MDA == Mail Dispatcher Agent.
Current situation:
* New apps, traditional transports:
App's composer -> MailTransport (MessageQueueJob) -> MDA -> MailTransport (SmtpJob or SendmailJob).
* New apps, resource-based transports:
App's composer -> MailTransport (MessageQueueJob) -> MDA -> specific resource.
* Old apps, traditional transports:
App's composer -> MailTransport (SmtpJob or SendmailJob).
* Old apps, resource-based transports:
App's composer -> MailTransport (ResourceSendJob) -> MailTransport (MessageQueueJob) -> MDA -> specific resource.
Ideal situation (KDE5):
* Move SmtpJob and SendmailJob to the MDA, and let MailTransport handle only config stuff and putting things in the outbox.
* All apps:
App's composer -> MailTransport (MessageQueueJob) -> MDA (SMTP, Sendmail, or specific resource)