1 How the composer works:
2 --------------------------
5 MessagePart classes represent the data of messages in an abstract way that is very close to
6 the way a GUI composer would see the data. Thus, the composer takes the folowing input data:
8 - The charsets the user prefers.
9 - Whether 8bit encoding is allowed.
11 - Mode: compose the messages to be sent, or to be saved somewhere locally.
12 - Sender and recipients.
13 - The transport to use.
15 - The plain text and, optionally, the HTML text from an editor.
16 * Zero or more AttachmentParts:
17 - The data and details (such as MIME type, file name) of an attachment.
19 --------------------------
22 The composer outputs a single KMime::Message containing the assembled message.
24 --------------------------
26 (NOTE: Based on messagecomposer.cpp in KMail. This does not apply. This is
27 TODO in the crypto composer.)
30 * Early attachment -- An attachment that has the same signing / crypto settings as the main
31 text part, and is joined with the text part before any signing or
33 * Late attachment -- An attachment that has different signing / crypto settings from the main
34 text part, and is encrypted, signed, and added only after the main part
35 has been signed and encrypted.
38 1) Take the text content (plain or plain+HTML) and the early attachments, and compose them
39 into contentBeforeCrypto.
40 2) For each recipient of the message, encrypt contentBeforeCrypto, encrypt and add the late
41 attachments, save the recipients address (so that we know whom to send this message to),
42 and save this as one of the final messages.
44 --------------------------