mirror of
https://git.sr.ht/~sircmpwn/useplaintext.email
synced 2024-04-26 02:35:02 +02:00
7a27df82be
It has correct settings by default and is recommended
757 lines
30 KiB
HTML
757 lines
30 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Use plaintext email</title>
|
|
<style>
|
|
body {
|
|
max-width: 800px;
|
|
margin: 0 auto;
|
|
font: 11pt monospace;
|
|
padding: 0 1rem;
|
|
}
|
|
|
|
ul li {
|
|
margin: 0.5rem 0;
|
|
}
|
|
|
|
.muted {
|
|
color: grey;
|
|
}
|
|
|
|
pre {
|
|
padding-left: 1rem;
|
|
max-width: 100%;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
h2 a {
|
|
text-decoration: none;
|
|
color: black;
|
|
}
|
|
|
|
.breakdown {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
@media(max-width: 720px) {
|
|
.breakdown {
|
|
display: block;
|
|
}
|
|
.breakdown span {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
.breakdown span {
|
|
padding: 0.5rem;
|
|
}
|
|
|
|
.green { background-color: rgba(0, 200, 0, 0.5); }
|
|
.green::before { content: '✓ '; }
|
|
.red { background-color: rgba(255, 50, 50, 0.5); }
|
|
.red::before { content: '✗ '; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>Use plaintext email</h1>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<h2>Table of Contents</h2>
|
|
<ol>
|
|
<li>
|
|
<a href="#recommended-clients">
|
|
Recommended email clients for plaintext users
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#other-clients">
|
|
How to set up plaintext with other email clients
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#etiquette">Etiquette recommendations for plaintext emails</a>
|
|
</li>
|
|
<li>
|
|
<a href="#why-plaintext">Why is plaintext better than HTML?</a>
|
|
</li>
|
|
<li>
|
|
<a href="#implementation-recommendations">
|
|
Recommendations for software which sends emails
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#contribute">How to improve these recommendations</a>
|
|
</li>
|
|
</ol>
|
|
<p class="muted">
|
|
This guide is brought to you by <a
|
|
href="https://sourcehut.org"
|
|
>sourcehut</a>, the "hacker's forge" for software development, a platform
|
|
which utilizes plaintext emails for many features. 100% open source and no
|
|
JavaScript required -
|
|
<a href="https://meta.sr.ht/register">try it today</a>!
|
|
</p>
|
|
<img
|
|
src="certified.svg"
|
|
alt="Plaintext certified stamp"
|
|
style="float: right"
|
|
width="200" height="200" />
|
|
<h2 id="recommended-clients"><a href="#recommended-clients">
|
|
Recommended email clients for plaintext users
|
|
</a></h2>
|
|
<p>
|
|
The following email clients are known to handle plaintext especially well:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<a rel="noopener" href="https://aerc-mail.org">aerc</a> (TUI)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="https://repo.or.cz/alpine.git">alpine</a> (TUI)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="https://github.com/wangp/bower">bower</a> (TUI)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="https://www.claws-mail.org/">claws mail</a> (GUI)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="https://gnus.org/">Gnus</a> (emacs)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="https://kde.org/applications/office/org.kde.kmail2">KMail</a> (GUI)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="https://freron.com/">MailMate</a> (GUI)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="https://github.com/leahneukirchen/mblaze">mblaze</a> (TUI)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="http://marmaro.de/prog/mmh/">mmh</a> (TUI)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="https://djcbsoftware.nl/code/mu/mu4e.html">mu4e</a> (emacs)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="http://mutt.org">mutt</a> (TUI)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="https://github.com/aligrudi/neatmail">neatmail</a> (TUI)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="https://neomutt.org/">neomutt</a> (TUI)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="https://rand-mh.sourceforge.io/">nmh</a> (TUI)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="http://www.squirrelmail.org/">SquirrelMail</a> (Webmail)
|
|
</li>
|
|
<li>
|
|
<a rel="noopener" href="https://github.com/wanderlust/wanderlust">Wanderlust</a> (emacs)
|
|
</li>
|
|
</ul>
|
|
<p>
|
|
These clients all compose plaintext emails by default, with correct
|
|
quoting and text wrapping settings, requiring no additional configuration
|
|
to use correctly.
|
|
<a href="#contribute">Want to add your own mail client to this list</a>?
|
|
</p>
|
|
<h2 id="other-clients"><a href="#other-clients">
|
|
How to set up plaintext with other email clients
|
|
</a></h2>
|
|
<p>
|
|
If your email provider's webmail doesn't have good plain text support,
|
|
please consider writing to <code><postmaster@yourdomain.com></code>
|
|
with a complaint, and using one of the <a
|
|
href="#recommended-clients">recommended clients</a> over IMAP & SMTP
|
|
instead.
|
|
</p>
|
|
<p>Jump to:</p>
|
|
<ul>
|
|
<li><a href="#afterlogic">Afterlogic</a></li>
|
|
<li><a href="#alot">alot</a></li>
|
|
<li><a href="#macos">Apple Mail</a></li>
|
|
<li><a href="#evolution">Evolution</a></li>
|
|
<li><a href="#fairemail">FairEmail</a></li>
|
|
<li><a href="#fastmail">Fastmail</a></li>
|
|
<li><a href="#geary">Geary</a></li>
|
|
<li><a href="#gmail-web">Gmail</a></li>
|
|
<li><a href="#gyazmail">Gyazmail</a></li>
|
|
<li><a href="#k-9">K-9 mail</a></li>
|
|
<li><a href="#mailbox-org">mailbox.org</a></li>
|
|
<li><a href="#mailspring">Mailspring</a></li>
|
|
<li><a href="#outlook-desktop">Microsoft Outlook (Desktop)</a></li>
|
|
<li><a href="#outlook-web">Microsoft Outlook (Web)</a></li>
|
|
<li><a href="#nine">Nine</a></li>
|
|
<li><a href="#protonmail">Protonmail</a></li>
|
|
<li><a href="#rainloop">Rainloop</a></li>
|
|
<li><a href="#roundcube">Roundcube</a></li>
|
|
<li><a href="#runbox7">Runbox 7</a></li>
|
|
<li><a href="#smail">Smail</a></li>
|
|
<li><a href="#sogo">Sogo</a></li>
|
|
<li><a href="#sylpheed">Sylpheed</a></li>
|
|
<li><a href="#thunderbird">Thunderbird</a></li>
|
|
<li><a href="#tutanota">Tutanota</a></li>
|
|
<li><a href="#windows-mail">Windows Mail</a></li>
|
|
</ul>
|
|
<p>
|
|
After configuring your client, be sure to review our
|
|
<a href="#etiquette">etiquette recommendations</a>.
|
|
</p>
|
|
<h3 id="afterlogic">Afterlogic</h3>
|
|
<div class="breakdown">
|
|
<span class="red">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<p>
|
|
Afterlogic does not support plain text email. Please
|
|
<a
|
|
href="https://s.afterlogic.com/forum/forum_posts.asp?TID=2438"
|
|
>ask them for it</a> and use a different mail client.
|
|
</p>
|
|
<h3 id="alot">alot</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<p>alot uses plain text email by default.</p>
|
|
<h3 id="macos">Apple Mail</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Select Mail → Preferences from the menu</li>
|
|
<li>Visit the "Composing" category</li>
|
|
<li>Change the "Message Format" (or "Format") option to "Plain Text"</li>
|
|
</ol>
|
|
<h3 id="evolution">Evolution</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="green">Wraps text or format=flowed</span>
|
|
<span class="green">Supports bottom posting</span>
|
|
</div>
|
|
<p>Plaintext is the default. To enable bottom-posting:</p>
|
|
<ol>
|
|
<li>Select Edit → Preferences from the menu</li>
|
|
<li>Select Composer Preferences → General</li>
|
|
<li>Enable "Start typing at the bottom"</li>
|
|
</ol>
|
|
<p>You can also prefer to show the plain text email by default when viewing
|
|
multipart messages:</p>
|
|
<ol>
|
|
<li>Select Edit → Preferences from the menu</li>
|
|
<li>Select Mail Preferences → HTML Messages</li>
|
|
<li>Select your preference from the "HTML Mode" options</li>
|
|
</ol>
|
|
<h3 id="fairemail">FairEmail</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="green">Wraps text or format=flowed</span>
|
|
<span class="green">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Visit Settings → Send</li>
|
|
<li>Scroll to the Message section</li>
|
|
<li>Toggle "Write below the sender's text"</li>
|
|
<li>Scroll to the Advanced section</li>
|
|
<li>Toggle "Send plain text only by default"</li>
|
|
<li>Toggle "'format flowed' for plain text"</li>
|
|
<li>Toggle "Follow Usenet signature convention"</li>
|
|
</ol>
|
|
<p>When replying, use "Reply to all" instead of "Reply to list".</p>
|
|
<h3 id="fastmail">Fastmail</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Visit Settings → Customize → Preferences</li>
|
|
<li>Expand "Advanced Preferences" at the bottom of the page</li>
|
|
<li>Change "Compose Format" to "plain text"</li>
|
|
<li>Disable "When replying, use the same format as the original message"</li>
|
|
</ol>
|
|
<h3 id="geary">Geary</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="green">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Compose a new message</li>
|
|
<li>On the bottom right, click the three-dotted icon</li>
|
|
<li>Select the plaintext option</li>
|
|
</ol>
|
|
<p>Geary will remember your preference next time.</p>
|
|
<h3 id="gmail-web">Gmail</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="green">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Compose a new message</li>
|
|
<li>On the bottom right, click the three-dotted icon</li>
|
|
<li>Select the plaintext option</li>
|
|
</ol>
|
|
<p>Gmail will remember your preference next time.</p>
|
|
<p>Gmail wraps plain text messages at 78 characters.</p>
|
|
<h3 id="gyazmail">Gyazmail</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="green">Wraps text or format=flowed</span>
|
|
<span class="green">Supports bottom posting</span>
|
|
</div>
|
|
<p>Gyazmail has the correct settings by default.</p>
|
|
<h3 id="k-9">K-9 mail</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="green">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Tap the three lines on the top left</li>
|
|
<li>Select Settings</li>
|
|
<li>Tap the email address you wish to configure → Sending mail</li>
|
|
<li>Change the Message Format to Plain Text</li>
|
|
<li>Select "Reply after quoted text"</li>
|
|
</ol>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<h3 id="mailbox-org">mailbox.org</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Click the "gear" icon on the top right</li>
|
|
<li>Go to the E-mail section</li>
|
|
<li>Uncheck "Allow HTML formatted email messages" under "View"</li>
|
|
<li>Go to the Compose sub-section</li>
|
|
<li>Select "Plain text" under "Format email messages as"</li>
|
|
</ol>
|
|
<p>
|
|
You can request better plaintext support via their
|
|
<a rel="noopener nofollow" href="https://userforum-en.mailbox.org">
|
|
user forum</a>.
|
|
</p>
|
|
<h3 id="mailspring">Mailspring</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="green">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Tap the three lines on the top right</li>
|
|
<li>Select Preferences → General</li>
|
|
<li>Unselect "Enable rich text and advanced editor features"</li>
|
|
</ol>
|
|
<p>
|
|
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
|
|
<a
|
|
rel="noopener nofollow"
|
|
href="https://github.com/Foundry376/Mailspring/issues/52"
|
|
>asking them for it</a>.
|
|
</p>
|
|
<h3 id="outlook-desktop">Microsoft Outlook (Desktop)</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Select File → Options → Mail</li>
|
|
<li>
|
|
Under "Compose Messages", select "Plain Text" from the "Compose messages
|
|
in this format" options.
|
|
</li>
|
|
</ol>
|
|
<h3 id="outlook-web">Microsoft Outlook (Web)</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Click the gear icon on the top right</li>
|
|
<li>Click "View all Outlook settings"</li>
|
|
<li>Go to Mail → Compose and reply</li>
|
|
<li>Scroll down to "Message format"</li>
|
|
<li>Change HTML to Plain text</li>
|
|
<li>Click "Save"</li>
|
|
</ol>
|
|
<h3 id="nine">Nine</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Open the side menu and click the "gear" icon</li>
|
|
<li>Select General, then Composer</li>
|
|
<li>Under Editor, change the Editor option to "Text editor"</li>
|
|
</ol>
|
|
<h3 id="protonmail">Protonmail</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<p>
|
|
<strong>Notice</strong>: Use of IMAP and SMTP with Protonmail requires
|
|
the use of a bridge. A
|
|
<a
|
|
href="https://github.com/emersion/hydroxide"
|
|
rel="nofollow noopener"
|
|
>third-party, MIT-licensed bridge</a> is available.
|
|
|
|
Proton technologies also makes
|
|
<a
|
|
href="https://github.com/ProtonMail/proton-bridge"
|
|
rel="nofollow noopener"
|
|
>the source code to their official bridge</a> available under the GNU-GPL-3.0-or-later.
|
|
</p>
|
|
<ol>
|
|
<li>Visit Settings → Appearance</li>
|
|
<li>Set "Composer Mode" to "Plain Text"</li>
|
|
</ol>
|
|
<p>
|
|
It's also recommended that you visit Settings → Account → Identity and remove
|
|
the default email signature.
|
|
</p>
|
|
<h3 id="rainloop">Rainloop</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Click the "person" icon on the top-right corner and choose "Settings"</li>
|
|
<li>Set "Default text editor" to "Plain"</li>
|
|
</ol>
|
|
<h3 id="roundcube">Roundcube</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="green">Wraps text or format=flowed</span>
|
|
<span class="green">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Click Settings on the top-right</li>
|
|
<li>Select Preferences → Composing Messages</li>
|
|
<li>Select "never" under "Compose HTML messages"</li>
|
|
<li>Select Composing Messages</li>
|
|
<li>Select "Start new message below the quote" under "When replying"</li>
|
|
</ol>
|
|
<p>Also consider setting "Automatically add signature" to "never".</p>
|
|
<h3 id="runbox7">Runbox 7</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<p>Runbox 7 uses plain text email by default.</p>
|
|
<h3 id="smail">Smail</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="green">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<p>Smail uses plain text email by default.</p>
|
|
<h3 id="sogo">Sogo</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="green">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>On the top-right, click the gear to open Preferences</li>
|
|
<li>Select the Mail tab</li>
|
|
<li>Change "Compose messages in" to "Plain text"</li>
|
|
<li>Click the green "Save" icon on the top-right</li>
|
|
</ol>
|
|
<h3 id="sylpheed">Sylpheed</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="green">Wraps text or format=flowed</span>
|
|
<span class="green">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>Open Configuration → Common preferences</li>
|
|
<li>Visit the Compose → Editor tab</li>
|
|
<li>Enable "Wrap on input"</li>
|
|
</ol>
|
|
<h3 id="thunderbird">Thunderbird</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="green">Wraps text or format=flowed</span>
|
|
<span class="green">Supports bottom posting</span>
|
|
</div>
|
|
<ol>
|
|
<li>In the accounts tab, right click on your account</li>
|
|
<li>Select "Settings"</li>
|
|
<li>Select the "Composition & Addressing" settings</li>
|
|
<li>Disable "Compose messages in HTML format"</li>
|
|
<li>Select "Start my reply below the quote"</li>
|
|
<li>Repeat this for any other email accounts</li>
|
|
</ol>
|
|
<h3 id="tutanota">Tutanota</h3>
|
|
<div class="breakdown">
|
|
<span class="green">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<p>
|
|
<strong>Notice</strong>: 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.
|
|
</p>
|
|
<ol>
|
|
<li>Visit Settings → Email → Formatting</li>
|
|
<li>Set the format to plain text</li>
|
|
</ol>
|
|
<h3 id="windows-mail">Windows Mail</h3>
|
|
<div class="breakdown">
|
|
<span class="red">Compose in plaintext</span>
|
|
<span class="red">Wraps text or format=flowed</span>
|
|
<span class="red">Supports bottom posting</span>
|
|
</div>
|
|
<p>
|
|
Windows Mail does not support plain text email. Please issue a feature
|
|
request through the Feedback Hub app, and use a different mail client.
|
|
</p>
|
|
<h2 id="etiquette"><a href="#etiquette">
|
|
Etiquette recommendations for plaintext emails
|
|
</a></h2>
|
|
<p>
|
|
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:
|
|
</p>
|
|
<h3>Top posting</h3>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<ul>
|
|
<li><strong>A</strong>: Because it reverses the logical flow of conversation.</li>
|
|
<li><strong>Q</strong>: Why is top posting frowned upon?</li>
|
|
</ul>
|
|
<h3>Wrapping your text</h3>
|
|
<p>
|
|
Email writers are encouraged to wrap their text at 72 columns by inserting
|
|
a newline and resuming your writing on the following line. The
|
|
<a href="#recommended-clients">recommended clients</a> 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.
|
|
</p>
|
|
<h2 id="why-plaintext"><a href="#why-plaintext">
|
|
Why is plaintext better than HTML?
|
|
</a></h2>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<h3>HTML as a vector for phishing</h3>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<h3>Privacy invasion and tracking</h3>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<h3>Mail client vulnerabilities</h3>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<p>
|
|
<a
|
|
href="https://www.cvedetails.com/vulnerability-list.php?vendor_id=452&product_id=3678&version_id=&page=1&hasexp=0&opdos=0&opec=1&opov=0&opcsrf=0&opgpriv=0&opsqli=0&opxss=0&opdirt=0&opmemc=0&ophttprs=0&opbyp=0&opfileinc=0&opginf=0&cvssscoremin=0&cvssscoremax=0&year=0&month=0&cweid=0&order=3&trc=421&sha=e340a73ad8b935c928250f8f7668f55ce061c8ec"
|
|
rel="noopener nofollow"
|
|
>This is a list</a> of 421 remote code execution vulnerabilities in
|
|
Thunderbird. If you're bored, try finding one that doesn't exploit web
|
|
tech.
|
|
</p>
|
|
<h3>HTML emails are less accessible</h3>
|
|
<p>
|
|
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?
|
|
</p>
|
|
<h3>Some clients can't display HTML emails at all</h3>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<h3>Rich text isn't that great, anyway</h3>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<hr />
|
|
<p>
|
|
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.
|
|
</p>
|
|
<h2 id="implementation-recommendations"><a href="#implementation-recommendations">
|
|
Recommendations for software which sends emails
|
|
</a></h2>
|
|
<p>
|
|
Thanks for your interest in making plaintext emails more accessible to
|
|
your users!
|
|
</p>
|
|
<h3>For senders of automated emails</h3>
|
|
<ul>
|
|
<li>
|
|
If you must use HTML, send a
|
|
<a
|
|
href="https://en.wikipedia.org/wiki/MIME"
|
|
rel="noopener nofollow"
|
|
>multipart/alternative</a>
|
|
email with both a plaintext and HTML version included. Your programming
|
|
language probably includes tools for creating these kinds of emails.
|
|
</li>
|
|
</ul>
|
|
<h3>For senders of user-authored emails</h3>
|
|
<ul>
|
|
<li>
|
|
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.
|
|
</li>
|
|
<li>
|
|
When composing a plaintext email, hard-wrap their lines at 72 columns by
|
|
inserting newlines at the nearest word boundary. Optionally, use
|
|
<a
|
|
href="https://www.ietf.org/rfc/rfc2646.txt"
|
|
rel="noopener nofollow"
|
|
>format=flowed</a> instead to
|
|
allow plaintext emails to be displayed and composed without hard
|
|
wrapping.
|
|
</li>
|
|
<li>
|
|
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.
|
|
</li>
|
|
<li>
|
|
When users send an HTML email explicitly, convert it to text/plain and
|
|
send a multipart/alternative email which includes both versions.
|
|
</li>
|
|
<li>
|
|
When displaying multipart/alternative emails, give the user the option to prefer
|
|
to view the plaintext part by default.
|
|
</li>
|
|
</ul>
|
|
<p>
|
|
Email clients which meet all of these criteria and prefer plaintext by
|
|
default are entitled to a spot on our recommended clients list.
|
|
</p>
|
|
<h2 id="contribute"><a href="#contribute">
|
|
How to improve these recommendations
|
|
</a></h2>
|
|
<p>
|
|
Do you want to add instructions for a new email client? Have suggestions
|
|
or questions? Please send a <strong>plain text</strong> email to
|
|
<a
|
|
href="mailto:~sircmpwn/public-inbox@lists.sr.ht"
|
|
>~sircmpwn/public-inbox@lists.sr.ht</a>. You can also
|
|
<a href="https://git-send-email.io">email a patch</a> to this address. The
|
|
code may be found on
|
|
<a href="https://git.sr.ht/~sircmpwn/useplaintext.email">git.sr.ht</a>.
|
|
</p>
|
|
<hr />
|
|
<p class="muted">
|
|
"But if plaintext is so good, why is this page written in HTML?"
|
|
<br />
|
|
This is a reference document, not an email, you twit.
|
|
</p>
|
|
<p class="muted">
|
|
This site is under a <a
|
|
href="https://git.sr.ht/~sircmpwn/useplaintext.email/tree/master/LICENSE"
|
|
>MIT license</a>. "Plaintext Certified" graphic by
|
|
<a href="https://fosstodon.org/@ohyran">Jens</a>, <a
|
|
href="https://creativecommons.org/licenses/by-sa/4.0/"
|
|
>CC-BY-SA</a>.
|
|
</p>
|
|
</body>
|
|
</html>
|