Email capture

Last reviewed: 2026-08-12 Plainva can read your mailbox to get knowledge out of email and into your vault, and — since 0.4.0 — compose and send mail too. The focus stays on capturing messages as notes; a mailbox connected over IMAP is only ever read for capture (nothing in it changes, not even the unread markers) unless you configure sending.

Experimental. The mail client talks to live external accounts (IMAP/SMTP and Microsoft) that can’t be exercised in Plainva’s automated tests. It works and is used daily, but treat it as a preview: keep a backup, and please report anything that looks off.

Connecting a mailbox

Settings → your vault → Cloud accounts → Connect account… and pick the provider:

Connecting validates the login before anything is saved; the credentials go into your operating system’s keychain. The connected mailboxes and the capture settings then live in the Email area: the Mail folder setting chooses where captured emails are stored (default Mail).

Signing in on a second device. When a mailbox travels with the settings sync, its password does not come along automatically — sign-ins are only transferred if you switch the credentials sync on yourself. Such a mailbox shows a Sign in on this device button in the Email area: type the password, and Plainva checks it with the provider before storing it in the keychain. For a Microsoft mailbox the same button leads to Cloud accounts, because that is where the browser sign-in happens. When this leaves the message list empty, the same notice and the same button appear there as well — you do not have to go looking for the settings yourself.

Reading mail

Open the mail tab from the left action rail (mail icon) or the command palette (Open email). The list shows your inbox newest-first (unread in bold, Load more pages further). Selecting a message opens it in a sandboxed viewer:

Attachments are listed with name and size; the original .eml (below) carries them in full.

When you open a folder you have opened before, the list appears immediately from the local cache while the refresh runs in the background; a hint says “updating” until it lands — only what the server sent counts as confirmed. The same goes for a message you have already read. On the phone the newest message in a folder is preloaded in the background — it then opens with no wait, even if you had never opened it before.

On the desktop the three columns (folders · list · reader) can be dragged at their dividers; the widths are remembered per vault and survive a restart. Every column keeps a minimum width, so the reader can never be squeezed away.

When a refresh fails — no network, or the provider is throttling — the list keeps showing the last copy from this device, with a note saying so, instead of an empty pane. A message you have already read stays readable the same way. This is only ever a cache: the server always wins, nothing here is the only copy of anything, and removing the vault removes it too.

Getting a message into the vault

Three buttons on every message:

Composing and sending

Once an account can send — a Microsoft account, or an IMAP account with an SMTP host configured — you can write and send mail from Plainva:

Handing a note off without the mail client

You don’t have to send from within Plainva. These work on any note and need no SMTP; the note’s YAML frontmatter is never included in the message — only its text:

Signature and sender addresses

Under Settings → E-Mail → Sending each mailbox carries two settings of its own:

Mailbox actions

Stars/flags sync through IMAP and Microsoft; Flagged shows the server-side selection. Messages can be moved individually or in bulk. Outside Trash, Delete always means “move to Trash”; only Trash offers Delete permanently after confirmation. With Gmail, moving is a label change, and actions in All Mail can affect the message across every label—Plainva warns before the action.

Unsubscribing and undoing a send

When a message carries a List-Unsubscribe header, Plainva shows an Unsubscribe button in the reader. What happens next is what the sender declared — Plainva guesses nothing from the body and clicks nothing on your behalf: a web address opens in your browser after a confirmation, a mail address lands in the composer so you can see what goes out. Unencrypted http:// routes are dropped, because unsubscribing over an open line sends your address in the clear.

Undo send is a delay, not a recall: after you send, Plainva waits a few seconds before handing the message to the server, and during that time a notice keeps an Undo button ready. After that it is on its way and cannot be stopped — no mail program can retrieve a delivered message. If you leave Plainva in that moment (on the phone: switch to another app), it sends immediately rather than cancelling — a message you asked to send must not disappear because the app went to the background.

Snoozing

Some mail is not urgent and not done either. Snooze takes a message out of the list until a moment you pick — later today, tomorrow morning, this weekend or next week. On the desktop the entry sits in the row’s context menu, on the phone it is a swipe action as well. The Snoozed button brings them back into view; from there Bring back now returns a message to the list immediately.

Two things about it that deserve saying plainly. First, snoozing is Plainva’s own marker, not a server feature: neither IMAP nor Microsoft has such a thing. The marker travels with the settings sync, so a message snoozed on the phone rests on the desktop too — in another mail program it sits in the inbox as usual. Second, snoozing only hides the list of the folder you did it in: search and “All inboxes” still show the message. Snoozed means “not in my way”, not “gone”.

Reporting spam

Spam moves a message into the account’s spam folder and, where the server supports it, marks it with the $Junk keyword. Inside the spam folder the same button reads Not spam and brings the message back to the inbox. Both are available in the reader, in multi-select, and on the phone as a swipe action on the row.

To be honest about it: moving alone does not necessarily train the filter. Some servers learn from it, others merely store the keyword, and others reject it. After the action Plainva tells you what actually happened — “marked as spam and moved” or just “moved”. If your account has no spam folder at all, Plainva offers to create a Junk folder rather than pushing mail into an invented folder name.

Out-of-office notice

An out-of-office notice belongs on the server, not in a program that happens to be open. Plainva therefore offers it only where it survives the machine being switched off — for Microsoft accounts and for mailboxes with a Sieve server (mailbox.org, Fastmail, Nextcloud, Mailcow and others). Where a mailbox has neither, there is no switch, just a sentence explaining why.

You will find it under Settings → Email, and on the phone in the accounts area: subject, message and a date range. Without a range the notice runs until you switch it off; with one it starts and stops by itself — even if you never open Plainva again.

Your own filter rules stay untouched. In a Sieve script Plainva writes only its own section, marked with # --- BEGIN PLAINVA, and leaves everything else character for character. If it finds a section there it cannot read safely, it changes nothing and tells you.

Rules

A rule checks sender, recipient or subject and then does something: move, mark as read, flag, report as spam or move to trash. You will find them under Settings → Email.

And here is the part that matters: rules currently run only while Plainva is open, and only over messages Plainva has fetched. On the phone that additionally means: only while the app was in the foreground. So a rule filters nothing while the machine is off — the card says that on the spot instead of implying a server-side filter that is not there yet.

If a rule checks the message text, it only takes effect once you open the message: the text is not in the overview. That, too, is stated on the card.

Storing them with the provider. Where your mailbox has a Sieve server, Store with the provider turns your rules into a server-side filter that also runs while Plainva is closed. Plainva writes only its own marked section and leaves your hand-written rules exactly as they are — the same promise as for the out-of-office notice, because both share that one section.

A rule your server cannot express — a body check on a server without the matching extension, say — stays local, and Plainva names it. It is deliberately not uploaded: a script with a requirement the server does not know is rejected as a whole, which would take the out-of-office notice down with it.

Gmail rules are still set up in Google’s own settings.

With Microsoft no extra server is needed: the same button stores your rules as Outlook rules in the mailbox. Plainva replaces only the rules it created itself and leaves your own untouched — and it places them after yours, because a hand-written rule was there first. Microsoft compares with “contains” only, so “is exactly”, “begins with”, “ends with”, a rule on Cc recipients and flagging stay local there — and Plainva names them.

On the phone you create rules yourself from start to finish: in the mail settings, tap a rule and you get it as If and Then — every condition and every action is a row, and tapping one asks for field, comparison and value on sheets of their own. That is deliberately not a shrunken form: five controls side by side at phone width is how a rule gets mistyped. The last condition cannot be removed — a rule without one would match every message.

File as a note is the action no mail program has: the rule files the message as a note in your vault, with sender, date and text — the same capture as the button in the reader, only automatic. The same mail twice gives you the same note, and the message stays in its folder: what is filed is a copy, nothing is moved. A rule with this action always stays local, even on a mailbox that could run rules. That is deliberate: storing the rest of the rule with the provider would let the server move the message before there was anything to file.