Warning, /pim/kmailtransport/DESIGN is written in an unsupported language. File is not indexed.

0001 Glossary:
0002 New apps == apps using MessageQueueJob.
0003 Old apps == apps using the MailTransport jobs directly.
0004 Traditional transports == SMTP and Sendmail, which are handled by MailTransport.
0005 Resource-based transports == Akonadi-based transports, which are handled by the MDA.
0006 MDA == Mail Dispatcher Agent.
0007 
0008 Current situation:
0009 * New apps, traditional transports:
0010   App's composer -> MailTransport (MessageQueueJob) -> MDA -> MailTransport (SmtpJob or SendmailJob).
0011 * New apps, resource-based transports:
0012   App's composer -> MailTransport (MessageQueueJob) -> MDA -> specific resource.
0013 * Old apps, traditional transports:
0014   App's composer -> MailTransport (SmtpJob or SendmailJob).
0015 * Old apps, resource-based transports:
0016   App's composer -> MailTransport (ResourceSendJob) -> MailTransport (MessageQueueJob) -> MDA -> specific resource.
0017 
0018 Ideal situation (KDE5):
0019 * Move SmtpJob and SendmailJob to the MDA, and let MailTransport handle only config stuff and putting things in the outbox.
0020 * All apps:
0021   App's composer -> MailTransport (MessageQueueJob) -> MDA (SMTP, Sendmail, or specific resource)
0022