Plain text e-mail - Thunderbird

From MozillaZine Knowledge Base

You can create messages using either plain text or HTML. At one time plain text messages were limited to 7-bit ASCII messages with plain text attachments but nowadays almost all email clients support MIME (for interoperability with Microsoft email clients etc.) so you can use other character sets, binary attachments and multi-part message bodies. HTML adds the ability to use additional formatting such as bold, italics, different fonts, tables and embedded images.

In most cases it's just a question of personal preference which format you use. However, some people strongly prefer to receive plain text messages. If you are uncertain whether a HTML message would be acceptable send a plain text message.

One problem is that Thunderbird's behavior when replying to a message depends upon what version you use. For example, when you reply to a message it may switch to whatever format is specified by "prefers to receive messages formatted as" in the recipients entry in address book unless you set some other preferences.


Send plain text messages

  • Uncheck Tools -> Account Settings -> Composition & Addressing -> Compose messages in HTML format for each account to which you always want to send plain text messages.
  • If it sometimes wants to reply in HTML add *.* as the domain name in Tools -> Options -> Composition -> Send Options -> Plain Text Domains if you want to force it to always send using plain text.
  • For submitting patches or other cases where you need the body of the email to remain completely unchanged, see Completely plain email.

Send HTML messages

  • Check Tools -> Account Settings -> Composition & Addressing -> Compose messages in HTML format for each account if it isn't already checked.
  • If it sometimes wants to reply in plain text you can
    • Select "Send the message in both plain text and HTML" in Tools -> Options -> Composition -> Send Options -> Text Format to have it send a single copy of the message that can be displayed as either HTML or plain text depending upon the recipients preference or
    • Add *.* as the domain name in Tools -> Options -> Composition -> Send Options -> HTML Domains if you want to force it to always send HTML messages.

Send both plain text and HTML

If you prefer to send HTML messages but don't know what your recipients prefer or what their email client supports its possible to create a message in HTML and have Thunderbird send the message with both a HTML and a plain text version of the message body. It has a Content-Type: multipart/alternative; header so which message body is displayed depends upon the recipients email clients settings. Thunderbird automatically creates a plain text version for you by stripping the HTML tags from a copy of the HTML message body.

You can configure Thunderbird to do this by setting Tools -> Options-> Composition -> General -> Send Options -> Text Format -> Send the message in both plain text and HTML.

Change your mind

You don't need to re-configure Thunderbird if you want to send the occasional message in the other format. Just press the "Shift" key when clicking the "Write", "Reply", or "Reply to All" button and it will use the other format for that message. Unfortunately, this doesn't work for "Forward".

You normally can't change what type of message it is when editing a draft or composing a message. The only exception is that you can use Options -> Format in a HTML message to change the type of message.

Displaying messages

View -> Message Body As defaults to Original HTML. This will display a HTML or a plain text message as is. If you set it to Plain Text it will display a plain text message as is, and transparently convert a HTML message to a plain text message. This doesn't just interpret it as plain text, it temporarily gets rid of all of the HTML tags so that you don't see what looks like code. The third option Simple HTML isn't used as much. Its similar to the Original HTML setting but will only interpret basic HTML commands, disables Javascript, and doesn't display remote images.

If you prefer to display messages as plain text but occasionally need to view some as HTML the Allow HTML Temp extension lets you add a "Show HTML" button to the toolbar that will display the selected message as Original HTML, and then revert to the View -> Message Body As setting when you select the next message. You can add it to the toolbar by right clicking on it, selecting Customize, and then dragging the button to it.

Its recommended that you don't check View -> Display Attachments Inline. Checking it lets you view embedded images inline, rather than as attachments. However, its a security risk since you've lost the ability to avoid opening a malicious attachment.

Thunderbird defaults to using a quote bar (a blue bar on the left) rather than a '>' for quoted text.


Flowed format

By default, support for flowed plain-text format is enabled. Incoming messages with the "format=flowed" attribute set are rewrapped to utilize the full width of the message window. Outgoing messages are still wrapped regularly, but the receiving e-mail client is allowed to rewrap the message for display. There are separate preferences to disable flowed message display (mailnews.display.disable_format_flowed_support) and sending flowed e-mails (mailnews.send_plaintext_flowed). You can use mailnews.wraplength to change the line length for messages you compose (defaults to 72 characters), mail.compose.wrap_to_window_width to wrap to the window width when composing a message (defaults to false) and mail.wrap_long_lines to control the wrapping of long lines (defaults to true).

Most webmail implementations, Outlook, Evolution, and Mac OS X Mail don't support it. Thunderbird, SeaMonkey, PostBox, Eudora, Pine, M2 (Opera mail program) and LuxSci webmail do. It is a interesting standard that just didn't catch on.

When replying in plain text, quotes may appear as a single line per paragraph (see this forum thread). Use Edit -> Rewrap to restore wrapping for those quotes.

Flowed text can cause problems with OpenPGP signatures. [1] [2] . The Enigmail add-on automatically replaces ">" in quoted messages with "|" and leading spaces with "~" to workaround this unless you set mailnews.send_plaintext_flowed false. There are also potential problems sending and saving patches [3] [4] if you use Enigmail. If you do not use "gpg --clearsign --not-dash-escaped ..." to disable dash-escaping all lines beginning with a dash are prefixed by a dash and a space. This is the reason you might notice an extra space and dash on any signature. [5].

Flowed text doesn't apparently cause problems with S/MIME (the built-in support for digital signatures and encrypted messages in Thunderbird).

Structured Text

Thunderbird will display text in a plain text message in bold if its surrounded by '*', in italics if its surrounded by '/' and underline it if its surrounded by '_'. For example,

This is *bold text*. This is /italic/. This is _underlined_ text 

would be displayed as This is bold text . This is italic. This is underlined text

This occurs due to mail.display_struct defaulting to true. You can disable this feature by setting it to false. Only Mozilla applications interpret the tags this way so it has limited usefulness.

Completely plain email

By default, Thunderbird will wrap plain text emails as well as send them in flowed format. This creates an experience that is better for most senders and receivers of email. However, there are certain cases where having an unaltered email is preferred, such as submitting a patch to an open source project. In that case, you will want to use plain text format, set wrap to zero in Options (Preferences) - Composition - General, and disable flowed e-mails.

See also

External links