TweetFollow Us on Twitter

Review: Mailsmith 2.1

Volume Number: 20 (2004)
Issue Number: 3
Column Tag: Review

Review: Mailsmith 2.1

by William Porter, Polytrope, LLC

E-mail client for control freaks


If I were writing this review for MacHome, or even MacWorld, I'd spend time talking about how smart and user-friendly Mailsmith is. I would go out of my way to claim that it isn't just for power users, programmers, hackers and geeks. This would be true. It's not.

But I am writing this article for MacTech. You are a MacTech reader. I am going to make the not unreasonable assumption that you are a power user, programmer, hacker and/or geek, that you are, in short, a control freak. Bare Bones, developer and publisher of Mailsmith, describes it as an e-mail client written by Mac users for Mac users. I want to describe it more aggressively, as an e-mail client written by control freaks for control freaks. Like you.

I am also going to assume that you are not already using Mailsmith, and that you may need more than just a rundown of what's new in 2.x. Now there is a lot that's new. In fact, in versions 2.0 (released fall 2003) and 2.1 (released January 2004), in addition to hundreds of problem fixes, Bare Bones added hundreds of new features or feature enhancements, including PGP support, considerably enhanced integration with OS X, native support for SpamSieve, greatly improved notification options (even support for the Griffin PowerMate), changes to the default mailbox structure, and much more. If you want all the details, you can get them from Bare Bones' web site. But in this review, I am not going to focus on what's new. I'm going to focus on how you, the power user, can make Mailsmith do your bidding.


Let me start by noting that there's a lot you can do to customize the way Mailsmith looks, how it works, and how you interact with it. There are different ways to view mail lists and messages. You can change fonts, font colors, and font sizes for lists, for reading messages, for composing messages, for printing. Window size, text wrap on/off, where your favorite AppleScript editor is located, a slew of options relating to spam, attribution line for text quoted in replies--you can control all these, and more. What I particularly like is the ability to add or edit your own keyboard shortcuts, not just for every command in the menus, but also for palette items such as glossaries, stationery, and scripts. I touch my mouse very little when I'm working in Mailsmith.

Getting and Sending

One option Mailsmith does not give you: IMAP. Bare Bones says that IMAP support is on the list for a future version. But, at the moment, Mailsmith is aimed at the ninety-plus percent of us that don't need IMAP.

Figure 1. The advanced tab in the accounts dialog.

That said, Mailsmith 2.1 gives you a lot of control over your POP and SMTP accounts. You can, of course, have as many different user accounts as you like, each independently configured. Usernames and passwords can be stored in the OS X Keychain. Version 2.x adds a number of valuable new features, including secure (SSL) connections, SMTP authentication, the ability to delete messages from the server after n days, faster uploading and downloading, improved handling of signatures, and more. (See Figure 1.) If you have PGP 8 or higher installed, Mailsmith 2 added the ability to cryptographically sign outgoing messages. The POP Monitor, improved in version 2, lets you view messages directly on the server and get them or delete them.

By default now, Mailsmith 2 uses the OS X Address Book to store e-mail addresses. Integration with the Address Book is so smooth, it's nearly invisible.

HTML and "Enriched Text"

Mailsmith does not display "enriched text," that is, font and simple paragraph formatting that may have been added to a message that was written in a program such as Apple's OS X Mail. If someone sends you an enriched-text message, Mailsmith will display it as plain text.

On the other hand, Mailsmith does support full-blown, properly formed HTML messages. To be sure, it does not encourage HTML e-mail. If your mail consists largely of spam, or if the majority of your correspondence is with people who can't express themselves adequately in a single font, well, Mailsmith might not be the best choice for you. But if all you need to do is view the occasional stray piece of non-spam HTML mail, Mailsmith can do it fine. First, it does a great job of extracting the non-HTML content from messages and displaying this in the message window. This lets you see what the message is about without actually having to see what the message is about, if you get my drift. And if you decide you need to see the message in all its decorated splendor, you simply click a button, and Mailsmith passes the message to your default web browser. Mailsmith 2.1 integrates beautifully with Safari in OS X v10.3 (Panther).

I can't help noticing that BBEdit 7.1 now offers HTML preview right inside the app. Is something like this in Mailsmith's future? I do not have any inside knowledge, but I doubt it. It's not hard to switch to a real browser, and you would need to do this anyway if the HTML message being rendered contains clickable links to other web pages. And in any case, Mailsmith was obviously designed by and for people who believe that e-mail should be plain text.

HTML aside, Mailsmith displays photos and even movies fine, not inline, but right in the program, via integration with QuickTime.

Text Editing Heaven

I remember that, when I first saw Mailsmith version 1.0, I thought it was little more than BBEdit with POP and SMTP support tacked on. Even then, that was both unfair, and unobservant. But ironically, while I have come to appreciate how deep Mailsmith's feature set truly is, I've also decided that Mailsmith's text-handling tools are among its very strongest features. This is an e-mail client for users who write a lot.

Figure 2. Mailsmith's Text menu, showing the array of text-editing options. Look familiar? It's identical to BBEdit's Text menu.

When I have to use another mail client, whether it's Apple's OS X Mail, or Eudora, the web mail app on .Mac or something else, the thing I miss the most about Mailsmith is the rich set of compositional options it provides. Heck, I miss these tools even when I'm working in my favorite word processor, Mellel. In addition to the options shown in Figure 2, Mailsmith provides multiple clipboards, unlimited undos (and redos), commands that let you insert a list of a folder's contents, or a file path. Mailsmith makes it easy to define, and use stationery in your correspondence, ditto for signatures.

Best of all, Mailsmith gives you the same powerful glossary feature that BBEdit has. For starters, the glossary feature lets you store, retrieve, and insert bits of reusable text. I use glossaries to store a lot of the things I need to say over and over again in my correspondence with clients: instructions on updating solutions, downloading files from our server, etc.. But, Mailsmith glossaries can go beyond inserting static text through the use of "placeholders." Some placeholders are simply variables that will be replaced by the current date, time, or username. Some placeholders let you manipulate text. For example, I use this glossary with the #SELECT# placeholder to put angled brackets around a selected URL:


I select the URL, then type option-command-U. (That's the keyboard shortcut I've defined for this glossary). Finally, some placeholders can actually trigger calculations. The "#SCRIPT scriptname#" placeholder that runs the script named as a parameter when the glossary is processed. And the "#SYSTEM command#" placeholder lets you send Unix commands to your default shell when the glossary is processed! The SCRIPT and SYSTEM placeholders must return text values, or values that can be coerced to text; the value returned is inserted into the message where the placeholder was originally.

I'm going to pass quickly over one of Mailsmith's most powerful text-processing features, namely, its find-and-replace feature, which, like the same feature in BBEdit, gives you all the power of regular expressions (grep). I use grep in BBEdit fairly often to massage large sets of raw data. I have found that I don't use it very often in Mailsmith.

By the way, Mailsmith provides tools for manipulating text in incoming messages as well. Ever get a message that's been forwarded two or three times and has gotten horribly misformatted? You can't save edits to incoming mail, but you can clean up formatting disasters in two seconds to make messages easier to read. Get mail lists in digest format? Mailsmith 2 will now extract and display the individual messages for you, and you don't need to use a plug-in. And while some might criticize Mailsmith's user interface as austere, those of us who love the program see the same thing, but regard it as a virtue. I prefer to describe it as uncluttered, and elegant. It's a great environment for reading. There's something grown-up about it. By contrast, when I crank up Mail, I always feel like I'm in the Dr. Seuss section of the library.

Message Management

Those who write a lot of e-mail tend to get a lot in return. Mailsmith helps you manage your mail store with power, intelligence, and efficiency. There are scores of nice features to the user interface that make a difference here. Mailsmith gives you a couple different ways to view your mail (either using a unified three-pane browser, or using a separate window for every mailbox). Contextual menus provide access to most of the commands that can be applied to a message selected in a list. Messages can be moved "manually" from one mailbox to another entirely from the keyboard. But, the three keys to controlling your messages in Mailsmith are filters, advanced queries, and its built-in support for Michael Tsai's SpamSieve.

Since I've written about Mailsmith's filters at length elsewhere, I'll restrict myself here to the executive summary: Mailsmith's filtering options are without equal. Mailsmith filters can have as many criteria as you like, and the criteria can be as simple, or as sophisticated, as you like--almost anything is possible, from finding messages from your mother, to grep pattern matching. Filters can also have multiple actions, such as applying a label to a message, moving the message to a folder, sending an automatic reply, or running an AppleScript script. And, since filters can be attached not just to the incoming mailbox, but to any mailbox, they can be triggered automatically whenever a message is moved, something not possible in other programs. My sense is that the designers of Apple's OS X Mail believe that users are not going to bother with filters; that's why filters have been stuck away in the preferences dialog. In Mailsmith, however, filters are front and center. In fact, there are three quite distinct ways to define filters, all ready to hand.

Mailsmith's simple query command is great for finding messages in the current mailbox from senders whose name include "Bob". But the advanced query command can find almost anything. Actually, the advanced query dialog is nearly identical to the criterion part of the filter-definition dialog, but you may find yourself using different aspects of the dialog in queries than you use in filters. I don't have any filters that test for dates, but I query on dates fairly often. The advanced query feature has two significant limitations. You cannot tell Mailsmith to search within multiple, non-nested mailboxes (something you can do in Eudora). And, advanced queries cannot be saved.

I used to filter incoming messages very aggressively as soon as they arrived, and Mailsmith 2 will filter messages into appropriate mailboxes, then open mailboxes that have new mail. But nowadays I let incoming messages sit in the incoming mailbox, so I can read them all in one place. If I need to find a thread, I use the advanced query dialog (or a script) to do so. When I'm done reading, I apply filters manually. I let filters automatically delete list messages that I haven't marked for keeping. I used to have lots of individualized mailboxes with limited numbers of messages. Now I find it easier to deal with fewer, fatter mailboxes. The change in my M.O. reflects the fact that the advanced query command has become a routine part of my interaction with the application.

Finally, of course, there's the headache of spam. Apple Mail has a powerful spam filtering feature built-in. Most other OS X e-mail clients can use Michael Tsai's SpamSieve scripts to achieve a very similar degree of success. The great thing about SpamSieve is that you train it yourself, and you control every aspect of its operation. And SpamSieve, like Mailsmith, is brilliantly integrated with OS X. You can, for example, use your Address Book as a white list. The smart developers at Bare Bones, recognizing that SpamSieve was a winner, decided that the best thing they could do was provide native support for it in Mailsmith, so that is what they did. This gives Mailsmith the advantage over the non-Apple competition, because SpamSieve doesn't need scripts to work in Mailsmith, and also because it can find, and remove spam before any filtering is done on your messages. SpamSieve has the ugliest icon in my Dock, but doggone it, it is effective. It catches close to 100% of my spam, with just one false positive in the last six months.

Finally, Applescript

Like BBEdit, Mailsmith provides deep, and extensive support for AppleScript. You want control? AppleScript gives it to you. You can, in essence, create your own meta-app with AppleScript to make Mailsmith jump through hoops.

Mailsmith is both recordable, and attachable. Recordability works great sometimes. I wanted to write a little script to select text from the insertion point to the end of the sentence. I turned "Record" on in the Scripts menu, opened the Find definition dialog, enabled grep, and typed in a simple regex that finds the next period or other common sentence terminator. Executed the find, then stopped recording. Here's what was generated:

tell application "Mailsmith"
   find "[\\.\\!\\;\\?\\r]" searching in text 1 of message window 1 options 
   {search mode:grep, starting at top:false, wrap around:false, backwards:false, 
   case sensitive:false, match words:false, extend selection:true} with selecting match
end tell

Worked perfectly. Note the use of two backslash characters. The second "\" escapes the reserved character that follows it ("." and the others), and is required by Mailsmith. The first "\"escapes the second, and is required by AppleScript.

Now, recording does not always work this well, but many of the kinds of things I personally want to do with AppleScript are child's play. Here, for example, is my "quit" script, triggered when I type Command-Q. (Yes, I've reassigned the keyboard shortcut to this script.)

tell application "SpamSieve"
end tell
tell application "Mailsmith"
end tell

By the time you read this review, Bare Bones may have fixed the bug that makes it currently impossible to attach a script to the Quit command in the Mailsmith menu. When that bug is fixed, I'll get rid of the second part of the script above, and attach this script to the quit command directly. Then it will be run regardless of whether I type Command-Q or invoke the quit command from the menu.

I mentioned above that you can't save advanced queries; you can, however, script them. AppleScript is a great way to fill in the rare gaps in Mailsmith's feature set. Here, for example, is a script I picked up from another user, and adapted just a bit. The script finds messages that have the same subject as a selected message.

tell application "Mailsmith"
      set message_list to selection as list
      set the_message to item 1 of message_list
      set the_container to container of the_message
      set the_subject to subject of the_message
      if the_subject starts with "Re: " then
         set the_count to count characters of the_subject
         set the_subject to characters 5 thru the_count -
            of the_subject as text
      end if
      set the_name to "Thread: " & the_subject as text
      make new mail list window with data every message -
         of the_container whose subject contains the_subject -
         with properties {name:the_name}
   end try
end tell

This script compensates for Mailsmith's lack of a true threading feature. By comparison, Apple's OS X Mail does have a nifty threading feature, but it hardly compensates for the many serious limitations in Mail's support for AppleScript.

If you are already an AppleScript adept, you are going to love what you can do with Mailsmith. And if you're not? Well, neither am I. But as I suggested above, there's a great deal you can do with very simple scripts, and many more complicated scripts can be borrowed. And, Mailsmith may inspire you to learn more. Matt Neuberg's new book on AppleScript is my nightly reading these days. My hope is someday soon to write an AppleScript that will not only get my mail, and read it for me, but draft and send thoughtful replies as well. I really need to get away from the computer a bit, maybe walk the dog.

System Requirements and Purchasing Information

Mailsmith 2.1 requires Mac OS X version 10.1.5 or higher; OS X version 10.2.6 or later is strongly recommended. (Integration with the OS X Address Book requires 10.2 or later.) You can read more about Mailsmith's features and download a fully-functioning thirty-day demo from Bare Bones's web site:

Mailsmith 2.1 costs $79 if purchased as a new product directly from Bare Bones. Upgrade and cross-grade pricing is also available.

SpamSieve is shipped with Mailsmith but separately licensed. You can more information here:

The latest version of SpamSieve as of this writing was 2.1.1.


In 2002, I wrote three articles on Mailsmith for TidBits, a review of Mailsmith 1.5 (, and a pair of articles on distributed filtering ( I say a lot in those earlier articles that is still pertinent to Mailsmith, and which I didn't want to repeat here. I recommend the earlier review in particular. The articles on distributed filtering later metamorphosed into chapter 9 of the Mailsmith 2.0 user manual.

Bare Bones has a web page intended to list AppleScript scripts for use with Mailsmith, here:

As of this writing, only two scripts are listed. Many more scripts can be found here:

The Mailsmith Talk list, sponsored by Bare Bones, is frequented by AppleScript mavens, and they're generous in sharing their knowledge. The threading script used as an example above was adapted from scripts shared on the Mailsmith Talk list.

Matt Neuberg's new book is AppleScript: The Definitive Guide (O'Reilly, 2004). Matt hit a homerun with his earlier book on RealBasic; he's hit another home run with this one. As it happens, Matt reviewed Mailsmith 2.0 for TidBits ( I recommend his review, which takes a quite different tack from this one. It is entitled, "True Confessions of a Mailsmith Switcher."

William Porter, Ph.D., a former professor of Classics and Honors at the University of Houston, now spends most of his time doing e-mail, or building databases. He is the owner of Polytrope, LLC, an independent database development firm in Dallas, Texas. He has written for MacTech in the past about 4D, and FileMaker Pro. He reviewed Mailsmith 1.5 in 2002 for TidBits, and later wrote the chapter on filtering in the Mailsmith 2.0 user manual. You can reach him at


Community Search:
MacTech Search:

Software Updates via MacUpdate

Gopogo guide - How to bounce like the be...
Nitrome just launched a new game and, as to be expected, it's a lot of addictive fun. It's called Gopogo, and it challenges you to hoparound a bunch of platforms, avoiding enemies and picking up shiny stuff. It's not easy though - just like the... | Read more »
Sago Mini Superhero (Education)
Sago Mini Superhero 1.0 Device: iOS Universal Category: Education Price: $2.99, Version: 1.0 (iTunes) Description: KAPOW! Jack the rabbit bursts into the sky as the Sago Mini Superhero! Fly with Jack as he lifts impossible weights,... | Read more »
Star Wars: Galaxy of Heroes guide - How...
Star Wars: Galaxy of Heroes is all about collecting heroes, powering them up, and using them together to defeat your foes. It's pretty straightforward stuff for the most part, but increasing your characters' stats can be a bit confusing because it... | Read more »
The best cooking apps (just in time for...
It’s that time of year again, where you’ll be gathering around the dinner table with your family and a huge feast in front of you. [Read more] | Read more »
Square Rave guide - How to grab those te...
Square Rave is an awesome little music-oriented puzzle game that smacks of games like Lumines, but with its own unique sense of gameplay. To help wrap your head around the game, keep the following tips and tricks in mind. [Read more] | Read more »
Snowboard Party 2 (Games)
Snowboard Party 2 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Crowned the best snowboarding game available on the market, Snowboard Party is back to fulfill all your adrenaline needs in... | Read more »
One Button Travel (Games)
One Button Travel 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: “To cut a long story short, If you like interactive fiction, just go buy this one.” - “Oozes the polish that... | Read more »
Light Apprentice Volume 1 (Games)
Light Apprentice Volume 1 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: Light Apprentice Volume 1 includes Chapters 1 to 4, all gathered in a new exclusive game. When life in the world of... | Read more »
The best games like Animal Crossing on m...
Animal Crossing amiibo Festival is out right now for the Wii U, reminding us of just how much fun that world can be. Or at least to go back and check in on our villages once in a while. [Read more] | Read more »
Between 2 Taps - Tap for Tap interview M...
Hello, and welcome back to Between 2 Taps, Tap for Tap’s Indie Dev interview series. [Read more] | Read more »

Price Scanner via

iMobie Releases its Ace iOS Cleaner PhoneClea...
iMobie Inc. has announced the new update of PhoneClean 4, its iOS cleaner designed to reclaim wasted space on iPhone/iPad for use and keep the device fast. Alongside, iMobie hosts a 3-day giveaway of... Read more
Black Friday deals on the Apple Watch and App...
Apple resellers are offering discounts and bundles with the purchase of an Apple Watch this Black Friday weekend. Below is a roundup of the deals being offered by authorized Watch resellers: Apple... Read more
Early Black Friday sale at B&H Photo, up...
B&H Photo has all new Macs on sale for up to $500 off MSRP as part of their early Black Friday sale including free shipping plus NY sales tax only: - 15″ 2.2GHz Retina MacBook Pro: $1699 $300 off... Read more
NewerTech/OWC/MacSales Black Friday Deals 201... • Free Shipping available on nearly EVERYTHING on orders $35.00 & up within USA + • International Delivery Specials from $2.99+ Special Purolator... Read more
Walmart Black Friday deals: $100 off select i...
Walmart has released their Black Friday deals for 2015, now available online. Choose free shipping or free local store pickup (if available): - 16GB iPad Air 2: $399, $100 off MSRP - 16GB iPad Air: $... Read more
Photo Cleaner 1.0 Reclaims iPhone Storage Spa...
Seoul, Korea based mix1009 has announced the release and immediate availability of Photo Cleaner 1.0, their handy iPhone app that deletes the video portion of Live Photos, in order to reclaim space... Read more
Black Friday and Holiday sales on our price t...
Scan our Mac Price Trackers for the latest Black Friday and Holiday season information on sales, bundles, and availability on systems from Apple’s authorized internet/catalog resellers. We update the... Read more
Best Buy Black Friday deals: Up to $200 off M...
Best Buy has posted their Black Friday sale prices for 2015. Save on MacBook Pros, MacBooks, MacBook Airs, iMacs, iPads, and Apple Watches. Choose free shipping or free local store pickup (if... Read more
Save $30-$40 on new Apple TVs after rebate
Adorama has new Apple TVs on sale for up to $40 off MSRP after mail-in rebate, good through December 15th. Shipping is free, and Adorama charges NY & NJ sales tax only: - 32GB Apple TV: $119.99... Read more
13-Inch Haswell MacBook Air At Two Years – Th...
The 13-inch mid-2013 “Haswell” MacBook Air I ordered in Apple’s November 2013 Black Friday sale was my first new Mac in four and a half years — the longest interval I’ve gone between system upgrades... Read more

Jobs Board

Storefront Operations Coordinator, *Apple* -...
# Storefront Operations Coordinator, Apple -Latin America Job Number: 43587750 Miami, Florida, United States Posted: Oct. 16, 2015 Weekly Hours: 40.00 **Job Summary** The Read more
*Apple* Enterprise / Government Professional...
# Apple Enterprise / Gove ment Professional Services Engineer Job Number: 42292976 Reston, Virginia, United States Posted: Aug. 18, 2015 Weekly Hours: 40.00 **Job Read more
iOS Wallet & *Apple* Pay Engineer - App...
# iOS Wallet & Apple Pay Engineer Job Number: 40586801 Santa Clara Valley, Califo ia, United States Posted: Nov. 16, 2015 Weekly Hours: 40.00 **Job Summary** The iOS Read more
Software Engineer, *Apple* Watch - Clock Fa...
# Software Engineer, Apple Watch - Clock Face Team Job Number: 44368761 Santa Clara Valley, Califo ia, United States Posted: Nov. 14, 2015 Weekly Hours: 40.00 **Job Read more
Administrative Assistant, *Apple* Online St...
# Administrative Assistant, Apple Online Store Job Number: 43992352 Santa Clara Valley, Califo ia, United States Posted: Nov. 9, 2015 Weekly Hours: 40.00 **Job Summary** Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.