The Composer Window

The composer window is used to write new, reply, and forward messages; it can be invoked in several ways. Here you will find the various options to composing messages.

Composing a Message

New Message...

The New Message composer window can be invoked the following ways:

  • FileNewNew Message...

  • MessageNew Message...

  • The New icon on the main toolbar.

To write your message, fill in the appropriate fields in the composer window. Use the View menu to select which header fields are displayed. Some field options offer a Sticky checkbox, that if checked, your selection will remain as the default when you open a new composer window. The following list describes the various headers.

  • The Identity drop down box allows you to select an identity to use.

  • The Dictionary drop down box allows you to choose your dictionary of choice for use with spellchecking.

  • The Sent-Mail folder allows you to change the location to save sent emails.

  • The Mail transport allows you to select the outgoing mail server you would like to use.

  • Your traditional From:, Reply To:, To:, and Subject: fields.

  • The Use Fixed Font allows you to toggle fixed fonts on and off.

  • The Snippets allows you to show the snippets window to store and use often used parts of text.

  • The Translator allows you to translate your text within the composer window.

There are a variety of shortcuts to help you with writing your messages. The Select... buttons next to the To:, CC:, and BCC: fields will call up the address book so that you can select addresses from there.

When you start typing an address in the To:/CC:/BCC: fields, a popup will appear that offers matching addresses that have been used recently and matching addresses from your address book; if you do not like the automatic popup you can disable it by clicking with the right mouse button on the field and choosing a different completion mode.

Whenever you want to add more than one recipient in one of the fields, use a comma to separate each address from the next one. You may need to specify fully qualified addresses (i.e. even for local users, depending on your system configuration.

When you are finished with your message, you click the Send icon (the envelope) to send the message now, or click the Queue icon to put the message in the outbox. If your message is not finished yet, select MessageSave as Draft to save for later editing. If you would like to print your message, select MessagePrint Preview to preview the message, and MessagePrint to print it.

MessageSend Later allows you to schedule your emails to send at a specific date and time. Please see Send Later Agent for details.

FileNewMessage From TemplateMy Super Template

Compose a new Message from Template is useful if you have created a masterpiece message that you would like to save as a template for use in future new messages. Select MessageSave as Template and this will place your new template in the templates: folder. You can revise the template at anytime by selecting it in this folder. The saved template will now be listed under this menu to use for new messages. Please see Compose New Message for further details on composing a message.

Signing and Encrypting Messages

If you want to send an encrypted or digitally signed message, select the Sign Message or Encrypt Message icons in the toolbar. Moreover you can select the format that should be used to sign and/or encrypt the message. Depending on the installed encryption programs you can choose between:


KMail will use a format which is understood by all recipients of the message. The preferred format of the recipients can be specified in the KDE Address Book.

Inline OpenPGP (deprecated)

This format is outdated. If you use this format then only the message text will be signed and/or encrypted. Attachments will neither be signed nor encrypted. HTML messages cannot be signed with this format. You should only use this format if necessary, i.e. if you send messages to users of email clients that cannot handle the more advanced formats.


This format is the successor of the inline OpenPGP format. If you use this format then the message text and all attachments will be signed and/or encrypted (at least by default). This is the recommended format if you use OpenPGP.


This format is an alternative format to OpenPGP/MIME. If you use this format then the message text and all attachments will be signed and/or encrypted (at least by default). This format is mostly used by corporations.

S/MIME opaque

This format is a variant of the S/MIME format. It should only be used if necessary.

Creating HTML Messages

Note that HTML messages are often regarded as an annoyance; therefore, you should avoid sending HTML messages if possible. Particularly, you should never send HTML messages to a mailing list unless HTML messages are explicitly allowed.

In order to be able to create HTML messages you first have to enable the markup tools. To do this enable Rich text editing in the Options menu. A toolbar with several tools to format the message will appear. Via the drop down box you can select between standard text and six different types of lists (three bulleted lists with different symbols and three numbered lists with different numbering). Moreover, you can select the font family, the font size, the font style (bold, italic, underlined) and the text color. Last but not least, you can select the alignment of the text (left aligned, centered, right aligned).

Creating tables and embedding images is currently not possible.

Adding Attachments

You can attach files to your message by using one of the methods below:

  • Click the Attach File (paper clip) icon and select the file you wish to attach;

  • Drag a file from the desktop or another folder into the composer window;

  • Drag a message from KMail's message list into the composer window -- that message will then be attached;

  • Select one of the options in the Attach menu.

  • Select MessageInsert Recent text file.

Once a file is attached to your message, it appears in the attachments pane at the bottom of the composer window. You can use the right mouse button on each attachment to Open, View, Save As... or Remove the attachment.

Use the Properties item to open the Message Part Properties dialog. The first field contains the attachment's MIME type. Just like the Name field, it should be automatically filled with an appropriate value. Sometimes the MIME type value may be wrong. You can then type in any MIME type or choose from the list of common MIME types. You can also select an encoding method for your file from the list of encoding options (normally, the default value works fine). Check the Suggest automatic display option if you want to suggest to the recipient the automatic (inline) display of this attachment. Whether this works or not depends on the recipient's email client and on his settings.

You can also attach public keys to the message by using the appropriate options in the Attach menu. GnuPG key attachments are handled like file attachments.

Checking the Spelling of your Message

KMail will automatically check the spelling of your message (in HTML mode this currently does not work) and display unknown words using red color. If there are too many unknown words KMail will disable its checking. To select the language used for checking, select ViewDictionary. You can disable automatic spellchecking in the Options menu.

If you need to write mails in different languages, enable the Dictionary drop down box with ViewDictionary from the menu. Using this drop down box allows you to change the spellchecker's language with one mouse click.

To check the spelling of your message using a dialog, select ToolsSpelling.... KMail uses Sonnet to check spelling, which is the KDE frontend to the ispell or aspell spelling checker. Note that you may first need to configure the spellchecker using SettingsSpellchecker....

Setting Up the Text Snippets Tool

When editing in the composer window you can store often used parts of text as snippets. To configure the capabilities of the mail snippets part select ViewSnippets from the menubar. A new panel will appear on the right side of the composer.

To add a new snippet to Snippet Panel, right click on panel, click on Add Snippet in the context menu. A snippet editor dialog will appear, in which new text can be added and the snippet can be given a name. Also a Shortcut can be associated with the snippet. Snippets can be grouped together as well by creating groups and adding snippets to a particular group. If you want to view the stored text in a tooltip window keep the mouse cursor over the title of that snippet.

The Snippets tool allows for a variable text in predefined places any time you insert a snippet into a file. To accomplish this Snippets provides its own variables mechanism. You can insert variables in the snippet text itself by using separators ( $ ) that enclose the variable names. For example: $variablename$, $invoicenumber$, $weekno$.

The variable separator can be changed to another character by changing snippetDelimiter in the [SnippetPart] section in the Text Snippet configuration file, which can be found at $KDEHOME/share/config/kmailsnippetrc .


Using the Built-in Translator

KMail 2 composer provides a built-in translator that can be accessed by selecting ViewTranslator from the menubar. A new panel will appear at the bottom of the composer.

To translate a section of text, first select the text you would like translated to the box with the Drag text that you want to translate.. Select the language it currently is, in the From: drop down box. Select the language you would like to translate to in the To: drop down box, and click the Translate button. Your translated text will appear in the next box. If you need to translate in the other direction you can just click the Invert button. To clear all text, click the Clear button.