My new iMac runs Mojave; my old iMac never moved off High Sierra, which I felt was a fine version of macOS. Now that I have no choice but to use Mojave full time (I have it on my laptop for work purposes), I’m finding some annoying changes. Amongst those annoyances, this one is—by far—the most annoying…
That’s a set of messages in Mail, as viewed in Classic View mode (using San Francisco Display at 15pt on both Macs).
Somewhere in Apple, someone thought it’d be a great idea to reduce the line spacing in Mail—only when using Classic View, which is my forever-preferred view. Maybe they’re doing this to force us to upgrade to the modern view?
While working yesterday, I noticed that my inbox was empty. Generally, I strive to keep it that way, but I knew it wasn’t true just then—my phone showed six messages in my inbox. Even stranger, using a Smart Mailbox in Mail, set to “show messages in inbox for Many Tricks,” revealed the six messages. It was only when clicking into the mailbox itself that I couldn’t see anything. At first, I blamed Mail…
Mail has now decided my inbox is empty. That's not true—Smart Mailbox for inbox shows six messages. Quit, rebuild, no help. Sigh. pic.twitter.com/NVtQnGjjPV
When I looked a bit closer, I spotted a clue that maybe it wasn’t all Mail’s fault. The “(0 filtered messages)” as seen in my tweet normally reads “(0 messages).” This was different, so I went looking in Mail’s menus for “filter,” where I discovered View > Disable Message Filter. Because the menu read “Disable,” that meant the feature was enabled. I selected it, the menu switched to Enable Message Filter, and bingo, my inbox messages were back!
So what happened, and why wasn’t it more obvious to me what had happened? The fault lies both with me and with Mail.
[Note:Glenn F wrote about this very issue for Macworld a few months back…sorry I missed it, as it would’ve saved some investigative work on my end!]
Over the weekend, I wrote about my totally useless search in Mail. I got so frustrated by my inability to search in Mail that I decided it was time to for a complete rebuild. I exported all my locally-saved mail, deleted my accounts, quit Mail, trashed its prefs and data files, rebooted, then rebuild it mailbox by mailbox, account by account.
I started with my iCloud account, which I barely use for anything—it has a total of seven messages in the inbox (four of which are iTunes Store receipts), and only 121 sent messages. As a test, I searched for Linea, an excellent drawing app that I had recently purchased. No matches.
At that point, I decided to quit Mail and force Spotlight to rebuild its index overnight. In Terminal, sudo mdutil -i on / will do just that (and take many hours). Today, opened Mail, and search was still dead. Argh! (I had also tried this suggested fix, but it made no difference.)
But doing some random testing today, I discovered a fix! It’s a weird fix, but it seems to work:
If I move all the messages from an inbox or local storage folder into a different local storage folder, they’ll be indexed and findable. I can then move them back into the inbox or source folder, and they remain findable.
Even more important, newly-added messages seem to be properly indexed, in both the inboxes and the local storage folders.
This doesn’t make any sense to me, as any one of my recent actions—rebuilding mailbox indexes, reimporting, and redoing the entire Spotlight index—should have been enough to force a rebuild. But for whatever reason, only manually moving the messages seems to force a rebuild.
Now pardon me while I go back to manually dragging a quarter-million email messages around…
For the last couple macOS releases, I’ve had nothing but trouble searching in Mail. Note that I didn’t write “trouble searching mail,” but rather, “trouble searching in Mail.” For example, today I needed to find an email from my business partner Peter about a hidden pref in Butler. (I was hoping this pref could help a user who was having problems with the pasteboard in a certain app.)
Based on a document on my hard drive, I knew the name of the default was Pasteboard Normalization Interval, but I couldn’t remember the syntax of the defaults write command to set its value. So I searched in Mail…
So clearly, no emails in my database contain the words I’m looking for, right? Here’s the exact same search, run in Spotlight:
Not one but two email messages match my search, and provided the needed syntax for the command.
Wait, I know what you’re thinking: “Ahh, look, it’s in quotes!” Doesn’t matter; searching Mail for "Pasteboard Normalization Interval" still results in zero matches. Searching on even one word of the phrase, like Normalization, also finds no matches.
Again, I know what you’re thinking: “Oh, I bet the Mail index is screwed up.” Nope; even after rebuilding the index on all 250,000+ messages in my database, no matches are found. (And yes, I let the index complete its rebuild, which took hours.)
I’ve heard from others that search in Mail works for them. But it’s a no go for me, and I know, for others. So something’s wrong, but I don’t know exactly what it is, nor how to fix it.
So for now, I have to rely on Spotlight to search Mail…or a third-party app, but more on that in a bit.
For better or worse—most might argue “worse”—I rely on the built-in macOS email client, annoyingly named Mail. (Why annoying? Try searching the web for help when you’re having trouble with “Mail”…) I’ve tried nearly every third party replacement, but something (usually in the UI) always brings me back to Mail.
In any event, I have a huge database of messages that I’ve built up over the years, especially since starting at Many Tricks with Peter Maurer back in 2010. Often I want to find a message that’s both from a particular person, and contains certain words. For example, I want to find all emails from Peter that contain the word “pricing.”
The “correct” way to do this in Mail is to type From: in the search box, then start typing the name you want to match. As you type, a list of possible matches appears below the search box. Use the arrow keys (or reach for the mou…no, don’t do that) to move down and select the right name from the list of matches, then press Return.
When you press Return with the desired name highlighted, the From: text in the search field turns into a token with the selected user’s name, as seen at right. You can then continue typing the rest of your search terms; pricing in this case. Press Return again, and the search runs and returns the matches (17 messages in my example).
While this works fine, it’s annoying and time consuming to interrupt the flow of typing a search by visually scanning a box, moving a selection, pressing Return, then starting to type again. So I thought I’d try the logical alternative—I just typed in my search query: from:peter maurer pricing. But this returned no matches.
On a lark, I tried reversing the order: pricing from:peter maurer.
Bingo! This works as expected, showing only messages from Peter that contain the word pricing. (Oddly, it finds two more matches than does the official method, and I cannot figure out why those messages are excluded from the other method’s matches.)