Use plaintext email

There are two main types of emails on the internet: plaintext and HTML. The former is strongly preferred, but often isn't set up by default. We'll get you set up right.

Table of Contents

This guide is brought to you by sourcehut, the "hacker's forge" for software development, a platform which utilizes plaintext emails for many features. 100% open source and no JavaScript required - try it today!

The following email clients are known to handle plaintext especially well:

These clients all compose plaintext emails by default, with correct quoting and text wrapping settings, requiring no additional configuration to use correctly. Want to add your own mail client to this list?

If your email provider's webmail doesn't have good plain text support, please consider writing to <postmaster@yourdomain.com> with a complaint, and using one of the recommended clients over IMAP & SMTP instead.

Jump to:

After configuring your client, be sure to review our etiquette recommendations.

Afterlogic

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Afterlogic does not support plain text email. Please ask them for it and use a different mail client.

alot

Compose in plaintext Wraps text or format=flowed Supports bottom posting

alot uses plain text email by default.

Evolution

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Plaintext is the default. To enable bottom-posting:

Select Edit → Preferences from the menu Select Composer Preferences → General Enable "Start typing at the bottom"

You can also prefer to show the plain text email by default when viewing multipart messages:

Select Edit → Preferences from the menu Select Mail Preferences → HTML Messages Select your preference from the "HTML Mode" options

FairEmail

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Visit Settings → Send Scroll to the Advanced section Toggle "Send plain text only by default" Toggle "'format flowed' for plain text" Toggle "Follow Usenet signature convention"

When replying, use "Reply to all" instead of "Reply to list". If you scroll down and click the pencil (edit) icon next to "The originaly received message will be included" bottom posting is used (your cursor will default to below the quoted text). If you start writing your reply without clicking the pencil icon, it defaults to top posting with the entire original message quoted below.

Fastmail

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Visit Settings → Customize → Preferences Expand "Advanced Preferences" at the bottom of the page Change "Compose Format" to "plain text" Disable "When replying, use the same format as the original message"

Geary

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Compose a new message On the bottom right, click the three-dotted icon Select the plaintext option

Geary will remember your preference next time.

Gmail

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Compose a new message On the bottom right, click the three-dotted icon Select the plaintext option

Gmail will remember your preference next time.

Gyazmail

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Gyazmail has the correct settings by default.

K-9 mail

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Tap the three dots on the bottom right Select Settings → Account settings → Sending mail Change the Message Format to Plain Text Select "Reply after quoted text"

It is also recommended that you select "Manage identities", and for each identity, untick "Use Signature". This will remove "Sent from K-9" from your emails.

KMail

Compose in plaintext Wraps text or format=flowed Supports bottom posting

mailbox.org

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Click the "gear" icon on the top right Go to the E-mail section Uncheck "Allow HTML formatted email messages" under "View" Go to the Compose sub-section Select "Plain text" under "Format email messages as"

You can request better plaintext support via their user forum.

Mailspring

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Tap the three lines on the top right Select Preferences → General Unselect "Enable rich text and advanced editor features"

Mailspring supports basic plaintext composing. You can also create a single plain-text email by holding Alt or Option while clicking "Compose" or "Reply". Request more features by asking them for it.

macOS Mail

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Select Mail → Preferences from the menu Visit the "Composing" category Change the "Message Format" (or "Format") option to "Plain Text"

Microsoft Outlook

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Select File → Options → Mail Under "Compose Messages", select "Plain Text" from the "Compose messages in this format" options.

mu4e

Compose in plaintext Wraps text or format=flowed Supports bottom posting

To enable automatic wrapping of your emails, add the following to your init file:

(add-hook 'message-mode-hook 'auto-fill-mode)

You may configure the default column to wrap at by changing the value of fill-column (the default, 70, is suitable). You may also configure it to use format=flowed:

(setq mu4e-compose-format-flowed t) ;; optional: (setq visual-line-fringe-indicators '(left-curly-arrow right-curly-arrow))

Nine

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Open the side menu and click the "gear" icon Select General, then Composer Under Editor, change the Editor option to "Text editor"

Protonmail

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Notice: Use of IMAP and SMTP with Protonmail requires the use of a bridge. A third-party, MIT-licensed bridge is available. Proton technologies also makes the source code to their official bridge available under the GNU-GPL-3.0-or-later.

Visit Settings → Appearance Set "Composer Mode" to "Plain Text"

It's also recommended that you visit Settings → Account → Identity and remove the default email signature.

Rainloop

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Click the "person" icon on the top-right corner and choose "Settings" Set "Default text editor" to "Plain"

Roundcube

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Click Settings on the top-right Select Preferences → Composing Messages Select "never" under "Compose HTML messages" Select Composing Messages Select "Start new message below the quote" under "When replying"

Also consider setting "Automatically add signature" to "never".

Runbox 7

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Runbox 7 uses plain text email by default.

Smail

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Smail uses plain text email by default.

Sogo

Compose in plaintext Wraps text or format=flowed Supports bottom posting

On the top-right, click the gear to open Preferences Select the Mail tab Change "Compose messages in" to "Plain text" Click the green "Save" icon on the top-right

Sylpheed

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Open Configuration → Common preferences Visit the Compose → Editor tab Enable "Wrap on input"

Thunderbird

Compose in plaintext Wraps text or format=flowed Supports bottom posting

In the accounts tab, right click on your account Select "Settings" Select the "Composition & Addressing" settings Disable "Compose messages in HTML format" Select "Start my reply below the quote" Repeat this for any other email accounts

Tutanota

Compose in plaintext Wraps text or format=flowed Supports bottom posting

Notice: Use of IMAP and SMTP, open standards for email clients, is not possible with Tutanota. This is not acceptable behavior for an email provider and use of Tutanota is strongly recommended against for this reason. Tutanota's stated reasons for not supporting these protocols are lies and you would be well served by closing your account there.

Visit Settings → Email → Formatting Set the format to plain text

In addition to training you that HTML emails are the norm, many harmful mail clients may have trained you with other bad habits. Here are some tips to unlearn them:

Top posting

When you reply to an email, many email clients will include a quoted version of the message you're replying to beneath the text of your reply. This leads to long email threads containing the entire history of the discussion in an increasingly long and nested footer on every email. This is called "top posting" and is strongly discouraged.

Though some clients would have you believe otherwise, you can edit the quoted version of the message you're replying to, and you're encouraged to. Feel free to trim it down, cutting out any extra text which isn't directly relevant to your reply - or removing it entirely. Write anything you have to say underneath the quote it pertains to.

A : Because it reverses the logical flow of conversation.

: Because it reverses the logical flow of conversation. Q: Why is top posting frowned upon?

Wrapping your text

Email writers are encouraged to wrap their text at 72 columns by inserting a newline and resuming your writing on the following line. The recommended clients will do this for you, as well as any client shown above with "Wraps text or uses format=flowed" checked. Don't worry about re-wrapping the quoted parts of message you're replying to unless you want to. If your client doesn't do this for you, it can easily be the most frustrating part of being a good email netizen, but it's very much appreciated by recipients.

HTML emails are mainly used for marketing - that is, emails you probably don't want to see in the first place. The few advantages they offer for end-users, such as links, inline images, and bold or italic text, aren't worth the trade-off.

HTML as a vector for phishing

HTML emails allow you to make links which hide the URL behind some user-friendly text. However, this is an extremely common vector for phishing attacks, where a malicious sender makes a misleading link which takes you to a different website than you expect. Often these websites are modeled after the login page of a service you use, and will trick you into entering your account password. In plaintext emails, the URL is always visible, and you can more easily make an informed choice to click it.

Privacy invasion and tracking

Virtually all HTML emails sent by marketers include identifiers in links and inline images which are designed to extract information about you and send it back to the sender. Examine the URLs closely - the strange numbers and letters are unique to you and used to identify you. This information is used to hack your brain, attempting to find advertisements which are more likely to influence your buying habits. HTML emails are good for marketers and bad for you.

Mail client vulnerabilities

HTML is an extremely large and complicated set of specifications designed without emails in mind. It's designed for browsing the world wide web, on which a huge variety of documents, applications, and more are available. Implementing even a reasonable subset of these standards represents hundreds of thousands of hours of work, or even millions. A large subset (perhaps the majority) of these features are not desirable for emails, and if included can be leveraged to leak information about you, your contacts, your calendar, other emails in your inbox, and so on. However, because of the herculean effort necessary to implement an HTML renderer, no one has built one specialized for emails which is guaranteed to be safe. Instead, general purpose web browsers, with many of their features disabled, are employed in most email clients. This is the number one source of vulnerabilities in email clients which result in information disclosure and even the execution of arbitrary malicious code.

This is a list of 421 remote code execution vulnerabilities in Thunderbird. If you're bored, try finding one that doesn't exploit web tech.

HTML emails are less accessible

Browsing the web is a big challenge for users who require a screenreader or other assistive tools to use their computer. The same problems apply to email, only more so - making an accessible HTML email is even more difficult than making an accessible website due to the limitations imposed on HTML emails by most mail clients (which they have no choice but to impose - for the security reasons stated above). Plain text emails are a breeze in comparison for screenreaders to recite, especially for users with specialized email clients designed for this purpose. How do you speak bold text aloud? How about your inline image?

Some clients can't display HTML emails at all

Some email clients don't support HTML emails at all. Many email clients are designed to run in text-only environments, like a terminal emulator, where they're useful to people who spend a lot of time working in these environments. In a text-only interface it's not possible to render an HTML email, and instead the reader will just see a mess of raw HTML text. A lot of people simply send HTML emails directly to spam for this reason.

Rich text isn't that great, anyway

Rich text features desirable for end users include things like inline images, bold or italicized text, and so on. However, the tradeoff isn't worth it. Images can simply be attached to your email, and you can employ things like *asterisks*, /slashes/, _underscores_, or UPPERCASE for emphasis. You can still communicate your point effectively without bringing along all of the bad things HTML emails come with.

In short, HTML emails are a security nightmare, are mostly used for advertising to you and tracking you, are less accessible for many users, and don't offer anything especially great for it.

Thanks for your interest in making plaintext emails more accessible to your users!

For senders of automated emails

If you must use HTML, send a multipart/alternative email with both a plaintext and HTML version included. Your programming language probably includes tools for creating these kinds of emails.

For senders of user-authored emails

Allow users to compose emails in plaintext, and consider making this the default. When the user composes a message in plaintext, send a text/plain email instead of a multipart/alternative email with a generated HTML part.

When composing a plaintext email, hard-wrap their lines at 72 columns by inserting newlines at the nearest word boundary. Optionally, use format=flowed instead to allow plaintext emails to be displayed and composed without hard wrapping.

When users reply to an email in plaintext, don't encourage top-posting by leaving their cursor above the quoted message. Instead, add two newlines after the quoted message and leave their cursor there. Allow the user to edit the quoted message. Quote each line of the original message with > and a single space, followed by the quote.

When users send an HTML email explicitly, convert it to text/plain and send a multipart/alternative email which includes both versions.

When displaying multipart/alternative emails, give the user the option to prefer to view the plaintext part by default.

Email clients which meet all of these criteria and prefer plaintext by default are entitled to a spot on our recommended clients list.

Do you want to add instructions for a new email client? Have suggestions or questions? Please send a plain text email to ~sircmpwn/public-inbox@lists.sr.ht. You can also email a patch to this address. The code may be found on git.sr.ht.

"But if plaintext is so good, why is this page written in HTML?"

This is a reference document, not an email, you twit.

This site is under a MIT license. "Plaintext Certified" graphic by Jens, CC-BY-SA.