Reading Mail
Plain text by default, HTML when you ask for it, and remote images only on your terms.
Opening a Message
Click a message in the list and it opens in the preview column (or below the list, or in its own screen, depending on your layout). Double-click, or press Enter, to open it full-screen. Open in new window under the More menu does what it says, and there is a preference to make that the default.
The top of the message shows the subject, the sender, the date, and the recipients. Click Details to see every addressed recipient and the Reply-To, Summary to fold them away again, and Headers to open the complete raw header block in a dialog. Show source (More menu) opens the entire message exactly as it arrived.
A message is marked read when you open it. The Mark messages as read preference lets you delay that by a few seconds, so skimming through a list with the arrow keys does not mark everything read, or turn it off so nothing is marked read until you do it yourself.
Plain Text by Default
CodaMail shows you the plain-text version of a message unless you ask for HTML. Most messages are sent with both versions; when a message is HTML only, CodaMail converts it to text for display. The content is the same. What you give up is the sender's fonts, colors and layout. What you gain is a message that cannot do anything except be read.
It is a default, not a restriction. You can switch any single message to HTML with the HTML link in its header, or make HTML the rule for every message by turning on Display HTML under Settings → Preferences → Displaying Messages. Both are explained in How to view the HTML version below.
What plain text protects you from
- Tracking pixels and open beacons. Impossible in plain text, and blocked in HTML view by remote-image blocking until you allow them.
- Link disguises. In HTML the visible text of a link and its real destination are two different things. "paypal.com" can point anywhere. In plain text the address you see is the address you get.
- Hidden content. HTML can hide text with white-on-white color, zero-size fonts, or off-screen positioning. Spam filters and you see different things. Plain text has nowhere to hide.
- Look-alike login pages. Phishing relies on a message that looks exactly like your bank's branding. Stripped to text, the costume comes off and the odd request stands out.
- Renderer bugs. HTML and CSS parsing is a large and complicated surface. Not rendering it at all removes an entire class of attacks on the browser.
- Remote fonts, stylesheets and embedded content are never loaded, so there is nothing to leak and nothing to wait for.
Most mail reads perfectly well as text: personal mail, receipts, confirmations, notifications, mailing lists. Newsletters and marketing mail are where the formatting matters, and those are exactly the messages most likely to carry tracking. The default is chosen so that the safe choice is the one that happens when you do nothing.
How to view the HTML version
When a message has an HTML part, a small HTML link appears in the header area beside Details and Headers. Click it and the message re-renders in HTML, for this message only. A Plain text link in the same place takes you back. Nothing is remembered; the next message opens as text again.
Even in HTML view, CodaMail sanitizes the markup before showing it: scripts, forms, embedded objects and dangerous styles are removed, and remote images stay blocked until you allow them (next section).
If you would rather see HTML every time, turn on Display HTML under Settings → Preferences → Displaying Messages. The Plain text link then lets you drop to text per message. The remote-image protections below apply either way.
Remote Images: Blocked, Proxied, or Direct
An HTML message usually does not contain its pictures. It contains links to pictures on the sender's server, and a mail reader fetches them when the message is displayed. That fetch is the tracking mechanism described above. CodaMail does not make it until you say so, and it can make it on your behalf so the sender never sees you.
The banner
When you view an HTML message that references remote images, the pictures are left blank and a banner appears above the message: To protect your privacy remote resources have been blocked. It offers two choices, and a third when Allow remote resources (see below) is set to from my contacts or from trusted senders:
Allow Proxied
The CodaMail server fetches the images and passes them to you. The sender's server sees a request from CodaMail, with a fixed generic browser identity, and nothing about you.
Hides: your IP address, your location, your device and browser.
Does not hide: that the message was opened, if the image address was unique to you.
Allow Direct
Your browser fetches the images itself, the way an ordinary mail client would.
Reveals: your IP address and approximate location, your browser and operating system, and the time you opened the message, to every server the message pulls images from.
Always allow from <sender>
Shown only when Allow remote resources is from my contacts or from trusted senders. Loads the images and adds the sender to your contacts or to the Trusted Senders book, so their messages skip the banner from now on.
Use for: people and services you trust. Contacts and trusted senders count as "known" for the proxy setting below.
Choose Allow Proxied whenever you simply want to see the pictures. Choose Allow Direct only when the proxy cannot reach the images, for example pictures hosted on a company intranet, on a server that blocks data-center addresses, or SVG graphics, which the proxy never passes through. When some images fail through the proxy, a notice tells you how many and offers Allow Direct for that message.
Once you allow images in a message, CodaMail remembers that for the rest of your session, so reopening the same message does not ask again.
The two settings behind it
Both live under Settings → Preferences → Displaying Messages.
Allow remote resources (images, styles) decides when remote content loads without asking: never (the default: always show the banner), from my contacts, from trusted senders, or always. Leave it on never unless you have a strong reason; "always" turns tracking back on for every message.
Remote images decides how images load once allowed:
- Load directly: your browser fetches everything. The Allow button on the banner behaves like Allow Direct.
- Proxy images from unknown senders (the default): images from senders in your contacts, your collected recipients or your trusted senders load directly; everyone else goes through the proxy.
- Proxy all images: every image goes through the proxy, including those from people you know.
The proxy only relays images, refuses anything on a private network, caps the size, and strips every header the remote server sends back except the image itself. It keeps no record of which address was fetched.
Attached HTML files opened inline get the same banner and the same choice. Images embedded inside the message itself (inline attachments, as from a phone camera) are not remote and are never blocked; the Display attached images below the message preference controls whether they are also listed as attachments.
Attachments
Attachments are listed below the message with their name and size. Click a name to open it, or use the small menu beside it for Open, Download, and Remove this attachment. When a message has several attachments, a Download all attachments link below the list packs them into one zip file. Removing attachments rewrites the message without them, which is a good way to reclaim space while keeping the text.
- Images are shown inline below the message text when the preference above is on.
- PDF files open in a viewer inside the webmail. Scripts inside PDFs are never run.
- vCard files (.vcf) show an Add vCard to addressbook button so you can import the contact in one click.
- Calendar invitations (.ics) show the event details with Accept, Tentative and Decline buttons, and the Save as event action adds any message to your calendar.
Every attachment is served with a strict content policy that prevents it from running scripts, whatever type it claims to be.
Message Actions
These are on the toolbar, on the right-click menu of a list row, and on a long press on a touch screen. Most work on several selected messages at once.
- Reply answers the sender. Reply all answers everyone on the message; the arrow beside it offers Reply to list when the message came from a mailing list. The default for the Reply all button is a preference.
- Forward sends the message on, either inline (quoted in your text) or as an attachment (the original preserved exactly, headers and all). Resend (bounce) re-sends the message unchanged to a new address, as if from the original sender.
- Delete moves the message to Trash. In Trash, delete removes it permanently. The Server Settings preferences can change this to flagging for deletion instead.
- Snooze takes the message out of your inbox and brings it back later: later today, this evening, tomorrow morning, this weekend, next week, or a date and time you pick. It waits in the Snoozed folder and can optionally come back marked unread. Wake now returns it immediately.
- Archive moves the message to your Archive folder. Divide archive by (Special Folders preferences) can file it into a year, month, sender or original-folder subfolder automatically. There is also a preference to mark it read on the way.
- Kill Alias (Kill To Address) looks at the address the message was sent to and stops all further mail to it by adding it to Manage Catch-alls: the sender's server is told "User Unknown" at the SMTP level and the mail never enters your account. This is the one-click way to retire a masked or random alias that has started receiving junk. See using aliases.
- Block rejects future mail at the SMTP level with a "User Unknown" error while the sending server is still delivering, so it is never accepted into your account and the sender has reason to drop your address; most providers accept such mail and filter it afterwards. Block from this address, from its domain or parent domain, from its top-level domain, from the sending server, or from every server at the sender's provider. Each choice asks you to confirm. See Blocking Mail.
- Junk moves the message to the Junk folder and teaches the learning filter that it is spam; Not junk moves it back to the Inbox and teaches the opposite. Mail the server itself rates as spam goes to the separate Spam folder instead (see Folders); that rating is configurable under Settings → Antispam Tools.
- Labels adds or removes colored labels. A message can carry several at once and keeps them when moved between folders; the menu shows a checkmark on each label the message has, entry 0 clears them all, and keys 1 to 9 toggle your first nine labels. Labels are standard IMAP keywords, so they appear as tags in Thunderbird and other clients, with your first five matching Thunderbird's built-in tags. See Labels.
- Mark as read, unread, starred (flagged) or unstarred.
- More: Print, Import (messages from .eml, .mbox or .zip files into the folder you are viewing), Export (this message as .eml, or selected messages as a zip in mbox or maildir format), Edit as new (reopen a sent message in the composer), Show source, Move to, Copy to, Open in new window, Create filter (start a delivery filter pre-filled from this message), Save as event, Save as task.
Drag and drop works too: drag messages onto a folder to move them, onto Starred to star them, or onto a label in the Labels panel to label them.
Other Things You Will Notice
- Return receipt requests. Some senders ask for a notification when you read their message. By default CodaMail asks you each time, and the answer is yours. The On request for return receipt preference can send automatically for contacts or trusted senders, or ignore every request silently.
- Sender warnings. If a message's visible From address does not match the server that actually sent it, or replies would go somewhere other than the From domain, a notice says so above the message. Mailing lists and some legitimate services trigger this; OK for this sender remembers the combination and the notice stops for them. You can review or forget remembered combinations under Displaying Messages.
- Long quoted text is folded with a Show link once it passes the line count you set in Hide citation when lines count is greater than.
- Emoticons. Text smileys like
:-)can be shown as small images in plain-text messages; a preference turns this on. - Threads. In thread mode the whole conversation is grouped under its first message. Expand message threads decides whether threads open automatically.
- Encrypted and signed messages. With encryption turned on under the Encryption preferences, PGP messages are decrypted after you enter your key password and signatures are verified, with the result shown above the message. See PGP encryption.
Next: Writing Mail.
