github UCS-Care-Group/mailcraft v0.9.0
MailCraft v0.9.0

3 hours ago

MailCraft 0.9.0 in short: the public beta, for Microsoft accounts (testers welcome; sign up in #11)

  • Move mail between accounts: Gmail or another IMAP account, your Microsoft accounts and folders on this computer (#451).
  • Newsletters look as their sender made them: style sheets, columns and buttons side by side, layouts for the pane's width and their own dark colours (#596, #597, #598, #599).
  • Messages on a light background in the dark theme, if you want them (#634).
  • Open a conversation in the message list to see each of its messages (#503).
  • A draft in the reading pane has Continue editing (#651), and Insert Link takes any address but unsafe ones (#636).
  • A very large mailbox opens again, whatever its size (#649), and mail stored with � instead of its letters is fixed (#650).
  • Safer: agents name the messages they act on, never what you have selected (#620), and Undo takes back only its own step (#605).
  • And many more fixes, listed below.

What's new

  • Messages on a light background in the dark theme. File › Options › General has a new choice under the interface theme: Show messages on a light background in the dark theme. With it on, a message is shown as its sender made it, in its own colours on a white page, in the reading pane and in a message's own window, while the rest of the window stays dark; a newsletter that comes with its own dark colours shows its light ones there. It is off at first, and changes nothing in the light theme (#634).
  • Designed mail keeps its columns and buttons side by side: elements the sender sets as display: inline-block (a button, a column with a width) stand on a line, wrap to the next when the line is full, and keep their own width, padding, frame and background; and a picture in a line of text stays in that line and wraps with it instead of jumping out into a block of its own (#597).
  • Newsletters follow the pane, and their own dark colours. A newsletter that has one layout for a wide screen and another for a phone (@media in its style sheet) now shows the one that fits the reading pane, and changes when you make the pane wider or narrower or switch between the light and dark theme. A newsletter that comes with its own dark colours uses them when MailCraft is dark, and its colours are changed only where they could not be read. Nothing is fetched to decide any of this, but once you allow pictures, one a newsletter shows only for a dark window or a narrow pane is fetched when that look is on screen, so its server can tell from the address that your window is dark and how wide the message is, to within a few pixels. What a sender hid in a message (a line of preview text, the copy meant for the other screen) is still not shown and is not quoted in a reply, but your search and your rules now find it, and an agent you allow to read your mail is given it as part of the message's text (a message already in your mailbox gets this when it is next read from the server) (#599).
  • Newsletters styled by a style sheet look as their sender made them: the colours, sizes, spacing and layout in a message's <style> block now apply (nothing in it is ever fetched or run), and text the sender hid that way, such as a preview line or a copy meant for phones, no longer shows (#598).
  • Moving mail between accounts. A message you move or copy into another account's folder, or a rule files there, now goes onto that account's server: from Gmail or another IMAP account into your Microsoft account and back, between two of your own Microsoft accounts, between two IMAP accounts, and from a folder on this computer into any of them. Send/Receive of the account it goes to puts it there, with its read state, flag and the time it arrived (without who got a blind copy); the original is removed from its own server only once the copy is there, so a copy that fails never loses it, and the message goes back where it was. On an IMAP server, the copy carries one line of MailCraft's own in its header (X-MailCraft-Place), seen only in the message's source, by which MailCraft tells it from the same mail that came there by itself. In a Microsoft account, the copy on the server lacks most of the original's headers (such as Received), and the status bar says so. A message from your Microsoft account that isn't downloaded yet moves into an IMAP account at once, and goes onto its server once Send/Receive has downloaded it. A message of which only the headers are here, or a draft, can't go onto another account's server, nor can mail from another mailbox go into a Microsoft account's Outbox, and MailCraft says why (in an IMAP account's Outbox it is held, unsent). An agent asks you first before it moves or copies mail onto another account's server, or makes, turns on or runs a rule that would (#451).
  • Open a conversation in the message list. With View › Show as Conversations on, the arrow or Right opens a conversation under its row, your replies in Sent Items included (outside a search), so each message can be read, moved or deleted on its own; Delete on a conversation's row that takes more than one message asks first and deletes only what its row shows (#503).
  • JMAP accounts in the browser build. The browser build can now read an account whose server speaks JMAP: Send/Receive lists the server's mailboxes and brings down the newest messages with their read, flagged and answered marks, and a message downloads whole when you open it. Nothing goes up to the server and nothing is sent from such an account yet. The server has to let the page in (CORS) and the account takes the address of the JMAP session itself; a site that serves MailCraft can name its users' accounts and hold their sign-in. How to add one is in docs/jmap.md (#226).
  • Designed mail sits as its sender laid it out: a table cell's content stays at the top, middle or bottom of its row where the message says so (valign, vertical-align), and the gaps between cells are the ones it asks for (cellspacing, border-spacing, up to 16 pixels) (#596).

Fixes

  • Insert Link in the composer now accepts any address with a proper scheme, such as ms-settings:network-vpn, and only refuses javascript:, vbscript:, data: and file:; such a link also survives saving the draft and reopening it. The refusal message is now translated (French so far; other languages show English until translated). Links in received mail are followed as before (#636).
  • A mailbox file of the older one-file form larger than 512 MB now opens instead of starting an empty mailbox, and is written in the current form at the next save; a big file that is not a mailbox at all is now said to be that, not "larger than 512 MB" (#649).
  • Saving no longer writes a mailbox file that opening would refuse: a save or a copy that would come to more than MailCraft opens is refused with a message, and the file stays as it was (#649).
  • A mailbox file of the older one-file form of any size now opens: it is read a message at a time, with bodies and attachments going to the mailbox's content folder as they are read, so that neither the file nor its content is held in memory (#649).
  • Save Mailbox As, when the file picked is the one the mailbox is kept in (the dialog suggests that very name), now saves it as usual; before it wrote the older one-file form over it (#649).
  • IMAP mail kept with � in place of č, š, ž, ć or đ (stored by versions before 0.5) is downloaded again once from the server, by its UID and without marking it read, and shows its letters: its subject, names and body text are replaced (not attachment names); flags, folder and categories stay (#650).
  • In a narrow reading pane, the open message's header no longer draws the sender's name, address, External tag and date over one another: the address is cut short first, then the name, the tag keeps its room, and the date goes on a line of its own when the pane is too narrow (#630).
  • The text cursor in an empty search box now stands level with the placeholder text instead of hanging 3 to 4 pixels below it (#652).
  • A draft shown in the reading pane now says it hasn't been sent and has a Continue editing button, and Enter on a selected draft in the message list opens it in the composer; before, only a double click or Open Draft in the right-click menu did (#651).
  • In File › Options, the senders and domains whose pictures are always downloaded are listed under a heading that gives their number and folds them away, folded at first when there are more than 20, and twenty at a time with Previous and Next. A long list no longer has to be scrolled past to reach the rest of the page (#591). In a window narrower than the page, the File pages wrap their text in the room there is instead of being cut off at the window's edge.
  • A message you move from an IMAP account, such as Gmail, to a folder on this computer now leaves the IMAP server too, once it is fully downloaded and saved here. This goes for mail a rule files into a folder on this computer or another account too. Before, it stayed on the server, so the move was only a copy. A message of which only the headers are here stays on the server (#578).
  • A message you move from your Microsoft account to a folder on this computer and back again, or whose move you undo, while Send/Receive is removing it from Microsoft's server is no longer lost: it is put on the server again, or, when that run's answer was lost, kept on this computer, in Imported (#578).
  • A message whose text or one of whose attachments couldn't be read on this computer (its file missing or damaged), moved from your Microsoft account to a folder on this computer, no longer has its copy on Microsoft's server removed: that copy is all there is of it (#578).
  • A message you move or copy between your Microsoft mailbox and a shared mailbox no longer names, in the copy, who got a blind copy (Bcc), which anyone who can open that mailbox could see (#578).
  • A message you move into another folder and then delete for good with that folder, before Send/Receive, is now deleted from the server too. Before, it stayed in its first folder on the server and was shown nowhere (#578).
  • A message that was resent with a blind copy no longer names who got that blind copy (Resent-Bcc) in what you send or export, or in a copy put on another server (#578).
  • The Delete key, Archive, Move and dragging on a selected conversation's row now take every message the row shows, as the row's own delete button does; before, they took only the newest one (#503).
  • A conversation's row selected in the Unread tab now stays selected in the All tab; before, it lost its highlight there and Delete took one of its messages with nothing drawn selected (#503).
  • Keys pressed while an agent's question is on screen no longer reach the message list under it; before, Delete there moved the selected message to Deleted Items (#503).
  • An agent's question that is still on screen when another mailbox is opened now goes with the mailbox it was about; before, a yes could delete or send messages of the mailbox opened since (#503).
  • An agent's Delete or Move that names a message that isn't in the mailbox is now refused instead of asked about; before, if Undo put that message back while the question was on screen, a yes deleted it for good or moved it to the Outbox (#503).
  • A conversation in the reading pane no longer counts its messages in folders under Deleted Items and Junk E-mail, such as those of a deleted folder (#503).
  • An agent working in the window can no longer delete, move, reply to or forward whatever you happen to have selected, and listing a folder no longer jumps your window to it: agents now name the messages they act on (#620).
  • After a Send/Receive that stopped partway on a Microsoft account, the next run raises its new-mail notice again; the Inbox was wrongly treated as a first download (#609).
  • The window no longer freezes while the system's credential store is locked and asking to be unlocked (GNOME Keyring, KWallet, and the macOS keychain prompt after an update): remembered sign-ins are now read in the background, Cancel no longer brings the prompt straight back, and the store is asked again only when you press Send/Receive (#613).
  • A message moved into an IMAP account's Outbox is no longer sent at the next Send/Receive: only mail sent with Send leaves through the Outbox, as for a Microsoft account. A message moved there stays and is held; Send Again sends it if that was meant (#607).
  • Undo takes back only what its step changed. Mail that came in after the step, and how far each IMAP folder has been read, stay as they are; before, Undo of a flag, say, took away the mail a Send/Receive had brought since, until the next Send/Receive (#605).
  • A message sent from a Microsoft account that syncs through Microsoft Graph no longer shows in Sent Items with the red draft text in the message list (#611).
  • On Linux and the BSDs, text selected in a message being read, or in the body of one being written or a signature, now goes to the primary selection once the selection is made, as MailCraft's other text does, so a middle click pastes it into another program; and a middle click in that body or signature pastes the primary selection where the pointer is, as plain text. What an agent or a script selects stays out of it (#558).
  • A picture pasted into a signature with Ctrl+V or the right-click menu is made smaller when it is too big as it is, as Paste Picture does, rather than refused; and in a dialog such as Search Commands or Go to Date, the right-click menu's items can be reached with the keyboard or a screen reader (#557).
  • Rules now run on new mail in the Inbox of a Microsoft account that syncs through Microsoft Graph, after the Safe and Blocked Senders lists, as they do on IMAP accounts. Before, that mail stayed in the Inbox until Run Rules Now (#567).
  • On a Microsoft account, the Safe and Blocked Senders lists now sort all new mail that comes in after a busy while. Before, only the first 100 changes were sorted, and the rest stayed where it arrived (#567).

Public beta. For Microsoft accounts (personal, or work or school) MailCraft is a working mail, calendar and contacts program, kept in step with Outlook on the web; keep Outlook to hand while you try it, and tell us in an issue if anything is lost or out of step. Much of what a daily mail program needs is still to come, and other kinds of account are welcome but not part of the beta. What works is in the README.

MailCraft for Windows, macOS, Linux, FreeBSD and the web. Every file is listed with its SHA-256 in SHA256SUMS.txt.

Platform File
Windows 10/11 (x64, x86, ARM64) mailcraft-<ver>-windows-<arch>.msi Installer for all users: Program Files\MailCraft and the Start menu; offers MailCraft for mailto: links and for .eml, .ics and .vcf files without taking them over (choose it in Settings › Default apps); uninstall from Installed apps. mailcraft-cli.exe is installed next to the app.
mailcraft-<ver>-windows-<arch>-portable.zip Portable: unzip anywhere and run mailcraft.exe; includes mailcraft-cli.exe. Registers nothing.
macOS 11+ (Apple silicon and Intel) mailcraft-<ver>-macos-universal.dmg Drag MailCraft to Applications.
mailcraft-cli-<ver>-macos-universal.zip The command-line tool and MCP server alone.
Linux x86_64 and aarch64 (glibc 2.35+) mailcraft-<ver>-linux-<arch>.AppImage chmod +x and run (if it does not start, add --appimage-extract-and-run). The .zsync next to it enables delta updates.
mailcraft-<ver>-linux-<arch>.deb / .rpm sudo apt install ./mailcraft-*.deb or sudo dnf install ./mailcraft-*.rpm.
mailcraft-<ver>-linux-<arch>.flatpak flatpak install --user mailcraft-*.flatpak (the freedesktop runtime comes from Flathub).
mailcraft-<ver>-linux-<arch>.tar.gz bin/mailcraft, bin/mailcraft-cli, the desktop entry, metainfo and icons under share/.
FreeBSD 15 (x86_64) mailcraft-<ver>-freebsd-x86_64.tar.gz The two programs, the desktop entry and the icons.
Any modern browser mailcraft-web-<ver>.zip The app as a static site (WebAssembly). From a browser it reaches JMAP servers only, to read (docs/jmap.md): bring other mail in with File › Import.

MailCraft keeps your mailbox in its settings folder and saves as you go; one window per mailbox. With a Microsoft 365 or Outlook.com account you sign in on Microsoft's page, and the sign-in is kept by the system's credential store (Windows, macOS, and the Secret Service of GNOME Keyring or KWallet on Linux). What works, and how far each part is from Outlook, is in the README and in docs/gaps.md.

The builds are not signed with a publisher certificate yet: Windows SmartScreen and macOS Gatekeeper will ask before running them.

Don't miss a new mailcraft release

NewReleases is sending notifications on new releases.