Apple Mail app bugs finally pushed me to MailMate
February 4 2025
I've been using Apple's Mail app since I switched to Mac OS X from Windows back in 2002. I recently purchased an M4 MacBook Pro with a nano-texture display and set up Mail app fresh on the new machine, which is running macOS Sequoia. In the following weeks, I encountered a bunch of the same old problems—the Mail main window sometimes fails to come to the front when clicking on the Dock icon, requiring one or more additional clicks; the Flagged mailbox lists some unflagged messages, which can be removed from the list only by moving them to a new containing folder and back again; Mail app refuses to quit entirely because it's connecting to Gmail; a message sometimes isn't marked as read when opened in a window; my column widths are forgotten when switching folders—as well as a new problem: the Unread smart mailbox showed a phantom count of 1 when no messages appeared in the folder.
This new, mysterious problem resisted my various attempts at a solution until I took a step that in retrospect should have been obvious: I added an Account criterion to the Unread smart mailbox, thereby narrowing down the problem. It turned out that the phantom unread count was specific to a little-used email account of mine. (I have 6 different accounts!) I logged into the account via webmail in Safari, and I found an old unread message in the inbox that for some reason Mail app hadn't downloaded. After I marked the message as read in webmail, the phantom "1" disappeared from the Mail app Unread smart mailbox.
Although my immediate problem was solved, I started to wonder why Mail app hadn't downloaded that unread message. So for each of my email accounts, I used the Get Account Info contextual menu item to show the number of messages in each mailbox on the IMAP server, comparing it to the number of messages in each mailbox displayed in Mail app. To my horror, I discovered that there were multiple discrepancies, in multiple mailboxes, in multiple accounts. Mail app seems to download 
most of the messages from each mailbox, but for some unknown reason it doesn't always download 
every message from every mailbox.
This was the final straw for me, an irreparable loss of confidence in the reliability of Mail app. In my opinion, Apple Mail is a formerly great app, during the 2000s, that has steadily declined in quality since then and ultimately became shoddy. I can only speculate about the causes. Has Apple shortchanged the Mac after introducing the vastly more popular iPhone? Does Apple's current CEO care less about quality than the previous CEO? In any case, the plight of Mail is not unique: across the board, Apple's software design and quality are at an all time low. Third parties are doing it better than the first party. RIP Mail app, long live MailMate!
I had tried 
MailMate once before, but several downsides kept me from switching at the time. I decided to give it another try now. MailMate's IMAP support appears to be flawless: unlike Mail app, MailMate downloaded every message in every mailbox for every account. How is it possible that one developer, Benny Kjær Nielsen, can succeed where an entire team of Apple engineers failed? Perhaps the problem is too many Cooks, as it were.
MailMate still has some downsides, though. For me, the biggest downside is lack of support for On My Mac mailboxes. I have a large archive of messages from old email accounts that are no longer active (from college, previous jobs, etc.). As far as I can tell, MailMate always requires an IMAP server. From the 
MailMate manual:
	
	
		
		
			If you are migrating from a POP3 only email client then you can try the “File ▸ Import Messages…” menu item in MailMate. You are then asked to chooses files or folders to import, and you also need to specify an IMAP mailbox to be used as the root for the imported messages.
		
		
	 
I don't want to upload my old archived messages to the IMAP server of a different account. I just want the messages to exist on my Mac and be searchable. I'd prefer that all of my emails be searchable in one app, but perhaps I'll use 
EagleFiler for searching my email archive when necessary. It's worth noting that search in Apple Mail is wonky at best, especially with smart folders, so this downside might not be so bad.
I also wish that MailMate always showed image attachments in the message window, like Apple Mail, because it's inconvenient to resort to QuickLook to view them. Since MailMate already shows inline attachments, it should be possible to show non-inline attachments too.
I had to set a hidden preference to prevent MailMate from locking (with the uchg flag) opened attachment files in the ~/Library/Caches/com.freron.MailMate/Attachments/ folder:
	
	
		
		
			defaults write com.freron.MailMate MmAttachmentsCacheImmutableStateDisabled -bool YES
		
		
	 
The locked files were preventing me from making backups of my Mac, due to a 
disk image creation bug introduced in macOS Sonoma and still present in Sequoia.
Unlike Apple Mail, MailMate has no built-in junk mail detection. (It does have built-in support for 
SpamSieve.) This is not a dealbreaker for me, however, because my junk mail volume is relatively low. I receive only about one per day on average, which I can handle easily. Moreover, Apple Mail has some problems with junk mail filtering. 
As of macOS Ventura, there's no longer a way to mark a message as not junk that Mail mistakenly marked as junk. And my junk mailboxes accumulate old messages despite the fact that I set Mail to erase junk messages after one month.
I encountered an issue where clicking a link in an email not only opens the URL in my default web browser, as expected, but also causes MailMate itself to connect to the URL, as shown by a 
Little Snitch alert. This issue turned out to be an 
Apple WebKit bug, triggered by MailMate's use of the WebKit API to display the message. It's actually a pretty bad bug, with potential privacy implications. Fortunately I was able to around the bug with Little Snitch by creating a rule that denies all TCP connections from MailMate to port 443 (https). Of course I also had to create rules allowing https connections necessary for MailMate to function, to accounts.google.com and oauth2.googleapis.com for Gmail and to updates.mailmate-app.com for software updates.
MailMate's new business model does worry me. Euphemistically speaking, it's… 
peculiar. I hope that it works out for the developer, because I'd hate to switch to MailMate only to see it become abandonware. I suppose that I can always crawl back to Apple Mail if necessary, but for now MailMate is clearly the superior option for me.