Previous month:
March 2020
Next month:
May 2020

Creating a yearly macOS Mail archive

I’m sort of a packrat when it comes to email messages, so by the end of the year my IMAP account is cluttered messages I’ve read. I like to keep them around for reference, but I also want to clear out that space on my mail server. Here’s my process to accomplish both. (I generally wait until mid-year to do this, to help ensure I no longer need instant access to old messages.)

In the macOS Mail app, create a Smart Mailbox that gathers all messages for the year. Be sure to include Sent messages so you have a complete record.


creating a new mailbox

When the Smart Mailbox has finished finding all the messages in the date range, create a new regular mailbox (not another smart one). Select all the messages in the Smart Mailbox and drag them to the new non-smart mailbox. (It feels like you shouldn’t need to do this, but trust me, you do.)

Wait patiently while the Mail app moves all those messages over to the new mailbox. This will take a while, and if you squint, you can monitor the progress at the bottom of the Mailboxes pane.

mail progress indicator

When Mail has finished moving the messages to the mailbox, Command-click the mailbox and choose Export Mailbox from the pop-up menu. Choose a destination (I always make a new enclosed folder) and let ‘er rip. This will take a long time to finish. Once again, watch the progress indicator to see if it’s done.

When it is finished, you’ll have an “mbox” folder saved at the destination. At this point, your messages are safely archived on disk and you can go back to Mail and delete both the mailboxes you created during this procedure. Again, keep an eye on the progress indicator. Removing all those message from the server will take time. But you’ll be left with a nice uncluttered IMAP account.

Now, how do you look at or search the archived messages? I mean, that’s why you kept them, so you can refer to them, right? The files on disk are just text, so something like HoudahSpot, or even the Finder (gasp), can search them. But you’ll be happier if you use an app that understands the mbox format and presents them more or less like how you expect email messages to appear. EagleFiler would be a good choice, I hear, but I don’t use it myself. I am already a heavy DEVONthink user, so that’s my app of choice. I import each mbox into a database that’s dedicated to my old email.


devonthink progress indicator

If you do this, notice that DEVONthink has (unfortunately) taken a cue from Mail and shows its own barely noticeable progress indicator. You’ll want to make sure importing is finished before quitting DEVONthink and throwing about the mbox files.



Multiple TXT records with Route53 DNS

It’s common for providers to ask you to add a TXT record to a DNS so they can verify that you own the domain. If you use AWS (Route 53) for your domain, be aware that while you can create multiple TXT records, only one will be visible to outside queries. Instead of creating a new TXT record set as instructed, add to the existing “unnamed” TXT you already have. (Start each entry on a new line in the Route 53 interface.)


Sending text from Ulysses to MarsEdit

These days, I do all my writing in Ulysses, but I use the fantastic MarsEdit to manage this blog. This means that when I'm ready to publish something, I have to somehow get what I've written from one app to the other. I wish there was a better integration, but here's the two-phase process that I'm using:

  1. In Ulysses, click the Quick Export button, then choose HTML from the format pop-up menu.
  2. Select Snippet as the Format.

  3. Click the Send button and choose Copy to Clipboard.


Screen Shot 2020 04 13 at 11 18 34 AM


  1. In MarsEdit, create a new post, then click to set the editing cursor inside the post's body.

  2. Choose Edit > Paste HTML Source.


Presto! Continue creating your post in MarsEdit.


Using Tinderbox for Mail Merge

I have a handful of different email messages that I need to send out on a fairly regular basis, but most often, I’m only sending them to one person. For this reason, a regular “mail merge” setup is overkill and too cumbersome — they all assume that you’re sending the message to a many people that exist in a list, not just one person, perhaps only once.

For a long time, I’ve kept a folder full of “canned” mail messages. When I need to send one, I open the template in BBedit, change the salutation and a few other details, then copy the message into a blank email. It’s a manual and unsatisfying process, but workable.

I’m a longtime fan and user of Tinderbox, but it wasn’t until recently that I realized it could be the solution to my canned email problem.

Each template message is its own Tinderbox note. The body of the note contains boilerplate text with value substitution calls that insert data from the note’s User Attributes. If you’re a Tinderbox user, the concocted example below should clarify everything for you. (If you’re not a Tinderbox user, there no doubt I’ve already lost you.)

Tinderbox Screen Shot of Note

When I need to send an email, I duplicate the template note, alter the field data, then export the note to plain text. Then I delete the duplicate, just to keep things tidy. The contents of the plain text export are copied to an email message. Done and done.

The last step, copying to email, is still a manual process. Perhaps someday I’ll work on a way to automate it, but for now this works for me.

You might wonder why I duplicate and then delete the note instead of using a fancier approach that utilizes more of the Tinderbox capabilities. Well, by making a one-off duplicate I can add or delete info from the template. (Adding a postscript that only applies to this one recipient, for example.) I delete the duplicate after I’ve exported it because I use Mail’s “sent messages” for reference if I need to, in the future. This limits Tinderbox’s role to helping me generate the messages, it’s not also serving as an archive of what I’ve sent.



Our Will o’ The Wisp

Gale noticed it first, a strange ball of light dancing high in our living room. I immediately recognized it as as a legendary Will o’ The Wisp and grabbed the closest camera. (Which, thanks to a quarantine cleaning binge, was our old camcorder.)

Click the image below to view the video on Flickr.

Our Will o' The Wisp

Admittedly these apparitions — sometimes also called “spunkies” — are more typically seen outdoors. They are also known to lead humans to danger. In this manner, this one was true to its reputation, as it was a remarkably lovely day in Chicago and it was very tempting to defy the Governor’s “stay at home” order and venture outside. Fortunately, the Wisp vanished before tempting us further.

We remain alert in case it decides to return.



Cure for a SwitchBot that forgets its schedule

Currently, one of the best home automation devices in my system is the "SwitchBot Button Presser." It looks a lot like a Rube Goldberg device, but it works perfectly for activating non-smart switches. If you're looking to retrofit an existing setup, give it serious consideration. (But be aware, it makes a distinct mechanical noise when operating.) I use them to schedule hallway lights, and I love that they operate independently and reliably.

One of my SwitchBots, however, recently started forgetting its scheduled on and off times. I chalked it up to a glitch or a firmware update, then finally realized that its battery was low. The switch would still operate and communicate, but for some reason, wouldn't save its scheduling. A fresh CR2 battery solved that problem. (And underlined that it's a good idea to keep spares of uncommon batteries.)


Things3 quick-add with Safari page title

I'm a heavy user of Things3 for organizing my tasks, and because I've been using it since v1.0, my habits about putting it to work are rather ingrained. I've been using the macOS Share Extension to add items to Things for a very long time. Unfortunately, when you're sharing a web page from Safari, that only sends the URL to Things, so then you have to type the title of the page.

Having some time on my hands lately, I thought I'd cook up a Keyboard Maestro macro that solved this problem. But while investigating Things' x-url support, I discovered there's a feature I've never used that provides this exact functionality (and more).

In Things3 Preferences > Quick Entry turn on the Autofill option and install the helper app, as explained in the pane. It's great!