MailCraft 0.8.1 in short: the public beta, for Microsoft accounts (testers welcome; sign up in #11)
- Tasks kept in step with Microsoft To Do, both ways, for accounts that sign in with Microsoft (#248).
- Import a whole folder of mailboxes, such as another mail program's profile (#420).
- Forward as Attachment (#315), and suggestions under the search box as you type, people included (#308).
- Shift with the arrows, Home, End and the Page keys selects several messages (#426).
- Closing or leaving a message you are writing asks before anything is lost (#442).
- Chinese, Japanese, Korean and Hebrew letters drawn with your system's fonts instead of boxes (#217).
- Safer: links, attachment names, Microsoft sign-ins, agents' undo and the MCP bridge checked more closely, after a second security review.
- And many more fixes, listed below.
What's new
- An agent that changes, completes or deletes a task in a Microsoft To Do list shared with other people now needs your Send permission first, as it does to send mail (#461).
- Messages can be selected from the keyboard: in the message list, Shift+Down and Shift+Up add the next or the previous message to the selection, and going back the other way takes them out again; Home and End go to the first and the last message, and Page Up and Page Down a page at a time, each with Shift to select as far as it goes. A held key moves a message at a time, and the list scrolls to keep up. From scripts and agents:
mail.nextandmail.previouswithextend, andmail.first,mail.last,mail.pageDownandmail.pageUp(#426, thanks to @kartas39). - Tasks in step with Microsoft To Do. For an account that signs in with Microsoft, your tasks and To Do lists are kept in step both ways: title, notes, dates, reminder, done, importance and categories; a task you add or delete here is added or deleted there, and the other way round. The permission (Tasks.ReadWrite) is asked for once, by itself, never with a sign-in, and File › Info shows whether it was given. Until then your tasks stay on this computer, and nothing of them is sent. Tasks that exist only on this computer are never sent on their own: MailCraft asks once whether to send them to your account's To Do (Not now keeps them here, and File › Info offers it again). Outlook's flagged-mail list is left alone (#248).
- Import a whole folder of mailboxes. File › Open & Export › Import a Folder of Mailboxes… takes a folder (a mail program's profile, or any folder of mbox files), shows what is in it, and on Import brings every mbox file under it into one new folder on this computer, keeping the subfolders. A file counts as a mailbox by how it begins, not by its name; index, lock and settings files and links are left out, and the answer says what was. Running it again adds nothing that is already there; one Undo takes it all back. From scripts and agents:
file.importFolderTree(#420).
Fixes
- File › Info has Open MailCraft's data folder beside Remove MailCraft's data from this computer: it shows the folder that holds the mailbox and the settings in your file manager, or the open mailbox's own folder when you keep it elsewhere (#460).
- Chinese, Japanese, Korean, Hebrew, Arabic, Thai and other scripts the interface's own fonts lack are drawn with the fonts installed on the computer (Noto, DejaVu, Microsoft YaHei, PingFang and the like) instead of as empty boxes. Hebrew and Arabic are still laid out left to right (#217, #452).
- Escape, the ✕ on the message's bar, New Email, Reply, Reply All, Forward, Forward as Attachment and Open Draft no longer throw away the message you are writing without a word: when you have typed or added something in it, they ask Unsaved Message first, as quitting does (Save Draft, Discard or Cancel), and a draft that can't be saved leaves the message open and says why. When an agent or
mailcraft-clidoes one of these, nobody is asked: the message is saved to Drafts first (#442, thanks to @kartas39). - Microsoft To Do: Outlook's Flagged email list is left alone again instead of being copied in as a list of to-dos, and a to-do made here goes to your default list (#468).
- The password field in Add Account, Account Settings and the Sign In dialog of Send/Receive has an eye at its right end: a click shows what you typed, the next click hides it, and it is hidden again on the next page or when the dialog closes. Shown, it still can't be copied or cut and isn't read out by screen readers; scripts and agents can't show it, and a screenshot of the window shows dots (#438, thanks to @kartas39).
- When Add Account can't check an account's servers, MailCraft's log now says why, as the dialog does (never with the password), so the reason can go into a problem report (#432).
- On Linux and FreeBSD, opening an attachment works again where
xdg-openisn't installed: MailCraft triesgio open,kde-openandgnome-openafter it, as 0.7.0 did, and the.deband.rpmnow recommendxdg-utils(#445, thanks to @MPro87). - A server whose first address never answers, such as an IPv6 address that goes nowhere, is reached at its next one: connecting now shares its time among a server's addresses instead of spending all of it on the first, so Add Account no longer says the server didn't answer when its IPv4 address would have (#433).
- Removing an account now also removes the calendar, contacts and list of Outlook categories that came from its server, in MailCraft and with
mailcraft-clialike; before, some of them stayed. Its remembered sign-in and the working hours read from its server go when it is removed in MailCraft, not withmailcraft-cli. After a removal withmailcraft-cli, the words of its mail leave the search index kept beside the mailbox the next time MailCraft opens it (#325). - An appointment you made in an account's calendar that hadn't reached its server yet is no longer deleted when you remove the account or use Forget Downloaded Calendar and Contacts: it stays, in a calendar of the mailbox's own (#325).
- An appointment of the mailbox's own in a removed account's calendar now moves to a calendar of the mailbox's own, not into another account's calendar, whose server would never get it (#325).
- When only a removed account's calendars were left, the calendar the mailbox kept could be a hidden one, such as Birthdays; it is now the account's main calendar, shown (#325).
- A reply, forward or Save As of a message that was still downloading now opens on that message, even if you select another one meanwhile (#315).
- Forward as Attachment, in a message's right-click menu and under Forward's ▾ (Ctrl+Alt+F), attaches the whole message to a new one as an
.emlfile (#315). - The search box now suggests people after
from:,to:andcc:, from your contacts and the mail on this computer, and your own addresses last when there is room. Part of a name is found without its accents (gvozfinds Gvožđar), and two words of a name one after another (ada lofinds Grace Ada Lovelace), in a new message's recipients too, and one letter aftercategory:shows only the categories that start with it, when some do (#308). - Typing a name in a new message's To, Cc or Bcc line, or in a meeting's attendees, no longer slows the window down in a large mailbox: the people it could be are looked up when you type, not again every time the window is drawn (#308).
- Shift+Tab in the list of people suggested under a new message's To, Cc or Bcc line, or under a meeting's attendees, now goes back to the field before, as it does without the list, instead of taking the suggestion (#308).
- Add Account's warnings about a server name, a port or an application ID, and a few notices about Outlook's Favorites and calendars, are now translated into the interface language; they were always shown in English.
- Plain-text mail no longer shows a link that MailCraft would then refuse to open (an address such as
www.a@.); only an address that passes the same check as every other link is a link. - While you drag messages, the pointer is the ordinary arrow over a folder that takes them and the system's "not allowed" pointer over the folder they are in already or anywhere that is not a folder, instead of the four-arrow move cursor everywhere on Windows (#430).
- Typing a POP server (port 110 or 995, or a name starting
pop) into Add Account now says that MailCraft doesn't support POP yet and to use the provider's IMAP server instead, instead of a certificate error (#402). - A Microsoft account, or a shared mailbox, whose Inbox is known but was never read now has it read first in Send/Receive, before the folders are listed, so mail shows within seconds (#276).
- A message deleted or moved just before a mail server renumbers its mailbox can no longer be mistaken for a different message that carries the same Message-ID: the change is made only on a message that is also the same mail, and otherwise dropped, with a note.
- A forward through a Microsoft account no longer keeps the original's attachment when you replaced it with a file of the same name: attachments are compared by content.
- A draft saved on a Microsoft account is sent exactly as you have it here, not as someone else edited it on the server (a Bcc, the body or an attachment added meanwhile).
- A Microsoft account's server Outbox is now a folder like any other: MailCraft sends only the mail you queued on this computer, never what is waiting in the server's Outbox.
- A cancellation in the mail now offers Remove from Calendar only when it comes from the meeting's organizer (or, for a meeting your mail server keeps, from that account); a calendar file you import replaces a meeting only when it names the same organizer; mail you import from a file never goes into an Outbox; replies and forwards quote what you saw in an HTML message, not the plain-text version its sender wrote beside it; address suggestions ignore Junk E-mail and a sender's future date; and "always download pictures" trusts only mail your server holds, by its
dmarcresult. - Links in mail and in MailCraft's own windows now go through the same check before the system opens them on Windows and macOS as on Linux, and a web address that can't be read properly, or has no host, is no longer a link.
- A comma or semicolon in an attachment's name is replaced when it is opened or saved, so Windows can't take the rest of the name for something else to open; the name shown is the name used.
- More kinds of file that can run or connect when opened (theme packs, server location files and a few others) are saved, never opened from a message.
- A Microsoft sign-in is only ever presented to Microsoft's own mail servers: a mailbox file that names another server for a Microsoft account gets an error, and a stored sign-in is no longer found for an account of another kind that a file says is a shared mailbox.
- In the browser build, links open in a new tab that has no handle on MailCraft's page, and starting from
?sampleor?emptyno longer overwrites the mailbox kept in the browser. - Links are read by MailCraft itself: the tip over a link shows a number for a host as the address it is (
http://2130706433/goes to 127.0.0.1), and an address a browser could read two ways is no longer a link: one with a backslash, an odd character in the host name (a space, a percent sign, a full stop from another script, an invisible character such as a zero-width space), or no//. A zero-width joiner stays only where a script needs one (Persian, Hindi). A name with letters from another script shows as itsxn--form, and is not normalised (anewith a separate accent is not the same host asé). A%in an address stays as written.mailto:andtel:addresses have spaces, quotes and non-ASCII characters written as%XXbefore they are handed to your mail or phone program. While MailCraft waits for a sign-in, the page now says what to do if no browser opened (Windows can't tell MailCraft that none started). - The search box suggests as you type: keywords (
catgivescategory:), your categories aftercategory:, and whatis:andhas:take (#308, thanks to @kartas39). - A keyword in quotes is now searched as text:
"is:unread"finds those words, not unread mail (#367, thanks to @kartas39). - An agent connected through MCP is now asked before an undo or redo that would bring back or remove what the owner made: contacts, events, tasks, calendars and categories that were deleted or made, or a change to a meeting that writes to the people invited. Copying text you selected in a message is no longer something an agent can do, and an agent that saves or sends an appointment in its window is asked first, with the people it would write to named.
- The MCP bridge (
mailcraft-cli mcp --connect) no longer hands the control key to whatever listens on the port: the app has to prove it holds the key first. - A message with many large pictures declared tiny can no longer use up memory: each picture takes only the room it is shown at, the 160 MB and 64-picture limits hold for pictures on screen too, and pictures are let go after a few seconds with none shown (AU2-02).
- A message with a picture followed by a huge run of blank spans no longer freezes the reading pane or a Send/Receive: HTML is read in time that grows with the message, not with its square (AU2-01).
- Work started for one mailbox stays with it: a sign-in that finishes after you opened another mailbox file is thrown away instead of being filed under that mailbox's account, and a switch to Microsoft Graph that was being prepared (its copy of the mailbox) is called off when another mailbox takes the place. A mailbox waiting for its servers to be confirmed starts no switch by itself (AU2-15, AU2-16).
- Remove MailCraft's data, and turning off remembering sign-ins, now forget every sign-in MailCraft put in the system's credential store, including those of mailboxes opened earlier (their names, never their contents, are noted in the settings), and list any that could not be removed (AU2-18).
- A mailto: link handed to MailCraft while a message with changes is open saves that message to Drafts first, and the status bar says so (AU2-19).
- In Calendar, Open Shared Calendar (File › Open & Export, Home › Manage Calendars) opens a colleague's calendar by address with your work or school sign-in; it is kept on this computer only, and a sharing invitation has an Open this calendar button (#70).
- In Calendar, calendars that colleagues have shared with you are listed under Shared Calendars, apart from your own, and a calendar you may only read has a lock and says so when you try to add to it (#70).
- When the settings file can't be read (a hand edit, or settings saved by a newer version), MailCraft still sets it aside and starts with its own settings, but now says so in a line above the status bar, with the name of the copy it kept; an earlier copy is no longer overwritten (#368).
- "Always download pictures" from a sender or a domain now holds only for mail your mail server says really came from that domain (its
dmarc=pass), the address is compared as plain ASCII, and mail in a subfolder of Junk E-mail counts as Junk; other mail from a remembered sender asks first, and says why. Your lists are kept. - A meeting invitation that carries the ID of a meeting already on your calendar, but names another organizer, no longer replaces or removes it; the invitation bar and its question show the organizer's address and say when the message came from another one.
- The question about checking for updates says that Yes also downloads and installs them when you quit.
- MailCraft's log no longer holds subjects, addresses or folder names from Send/Receive problems (they are still in the problems report), and a long sender name no longer hides the address in the reading pane.
- A mailbox opened from a file (File › Open, a double-click, a drop) no longer connects to any server until you have seen where its accounts connect to and pressed Confirm servers: nothing in it is sent, received or run before that. Your own mailbox is not asked about, and neither is a file you confirmed while its accounts stay the same (C1 PR-c).
- A password or sign-in the system remembers for an account is now tied to the mail servers it was given for: an account set to other servers asks again instead of being handed it, and changing an account's server asks again. Entries kept by earlier versions move once, so a downgrade asks once more (C1 PR-b).
- A saved attachment is marked as from the Internet (a zone mark on Windows, quarantine on the Mac), so Office and Gatekeeper treat it with the care they give a download; more kinds that launch when opened (add-in libraries, provisioning packages, connection files) are only saved, and old Office files (.doc, .xls, .ppt and the like) ask before they open; a web link that cannot be read as an address is no longer handed to the browser; an agent given a folder is refused the same kinds of file (batch 5).
- An agent is asked before it deletes a contact, task, event or category, or undoes a change to rules, signatures or accounts; its questions show everything it asked for, and a calendar question names the event and the people invited; no rule moves mail into an Outbox (which would send it); Copy Diagnostics is not available to agents (batch 4).
- A
.mailcraftfile received as an attachment is only saved, never opened from the message; opening another mailbox forgets the passwords and sign-ins held in memory; an agent that asks to add or change an account, or to open a mailbox file, is asked about with the mail servers named (C1 PR-a). - A calendar invitation or .ics file built to be slow (a time zone with hundreds of parts, thousands of excluded days, or a series counting from 1970) no longer freezes the window: the work a file may cost is bounded, the card still shows, and a note says when a file's time zones were only partly used (PR-d).
- A message with tens of thousands of recipients or categories, a mailbox file of millions of empty messages, an mbox of a very large number of tiny messages or a mailbox file with thousands of accounts and folders no longer exhausts memory or freezes the window: the lists are cut (the reading pane says "and N more"), an import stops at 200,000 messages and says so, and a file with more than the computer can hold is refused (PR-e).
- A mail server that answers one request with an endless stream of mail lists or folders can no longer make MailCraft run out of memory or keep working for hours: an answer is read up to a limit in size, count and time, and past it the request fails and nothing of it is taken in.
- A Microsoft account's first Send/Receive of a large mailbox no longer slows down as it goes: Send/Receive Progress counts the messages kept in full at most once a second, not after every batch.
- The message list can be arranged by Categories (View › Arrange By, or the menu at the top of the list). As in Outlook, a message with two categories is listed under both, and still counts once (#327, thanks to @kartas39 for suggesting it in #308).
- In a list arranged by Categories, Shift-click and Delete act on the row you clicked when a message is listed under several categories, "No category" is translated, a category named like a heading ("Today", "Pinned") is shown as you wrote it, names that differ only in capitals share one heading, and Find Related counts a message once (#327).
- People and Tasks can be arranged by Categories too (View › Arrange By), a contact or task under each of its categories; Tasks can go back to Due Date and People to Name, and each keeps its arrangement between runs (#327).
- The settings of an account kept in step through Microsoft Graph no longer show a user name or IMAP and SMTP servers it doesn't use; they say its mail comes through Microsoft Graph instead (#312, thanks to @kartas39).
- Messages from Sender, in a message's context menu and Home › Find, finds the sender's mail in every mailbox; a search for a whole address (
from:ada@example.org) finds that address alone (#301). Inside double quotes in a search,\"is now a quote and\\a backslash, so a quoted search that ends in a backslash needs it written twice (subject:"C:\\"). - Arranged by size, a message that is only partly here says, and sorts by, its whole size: a Microsoft account's message kept as its preview the size it had when it was downloaded, and a message too large to download from a mail server the size that server gave (#300).
- The only account can now be removed in File › Info; before, it couldn't be (#313, thanks to @kartas39).
- Properties… in a folder's or an account's right-click menu shows what it is, where it is and how many messages it holds; its Folder Size… button lists each folder's messages and the space they take (#314, thanks to @kartas39).
- A horizontal line in a message (
<hr>) is drawn again, in the reading pane and above the original in a reply or forward (#349).
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). It cannot reach mail servers from a browser: bring 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.