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

Introduction

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.

Customize!

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:

<#SELECT#>

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"
   activate
   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"
   activate
   quit
end tell
tell application "Mailsmith"
   activate
   quit
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"
   try
      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:

http://www.barebones.com/products/mailsmith/index.shtml

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:

http://www.c-command.com/spamsieve/

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

References

In 2002, I wrote three articles on Mailsmith for TidBits, a review of Mailsmith 1.5 (http://www.tidbits.com/tb-issues/TidBITS-638.html), and a pair of articles on distributed filtering (http://db.tidbits.com/getbits.acgi?tbser=1227). 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:

http://www.barebones.com/support/mailsmith/script_library.shtml

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

http://www.mailsmith.org/scripts/

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 (http://db.tidbits.com/getbits.acgi?tbart=07289). 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 wp@polytrope.com.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

Aether Gazer unveils Chapter 16 of its m...
After a bit of maintenance, Aether Gazer has released Chapter 16 of its main storyline, titled Night Parade of the Beasts. This big update brings a new character, a special outfit, some special limited-time events, and, of course, an engaging... | Read more »
Challenge those pesky wyverns to a dance...
After recently having you do battle against your foes by wildly flailing Hello Kitty and friends at them, GungHo Online has whipped out another surprising collaboration for Puzzle & Dragons. It is now time to beat your opponents by cha-cha... | Read more »
Pack a magnifying glass and practice you...
Somehow it has already been a year since Torchlight: Infinite launched, and XD Games is celebrating by blending in what sounds like a truly fantastic new update. Fans of Cthulhu rejoice, as Whispering Mist brings some horror elements, and tests... | Read more »
Summon your guild and prepare for war in...
Netmarble is making some pretty big moves with their latest update for Seven Knights Idle Adventure, with a bunch of interesting additions. Two new heroes enter the battle, there are events and bosses abound, and perhaps most interesting, a huge... | Read more »
Make the passage of time your plaything...
While some of us are still waiting for a chance to get our hands on Ash Prime - yes, don’t remind me I could currently buy him this month I’m barely hanging on - Digital Extremes has announced its next anticipated Prime Form for Warframe. Starting... | Read more »
If you can find it and fit through the d...
The holy trinity of amazing company names have come together, to release their equally amazing and adorable mobile game, Hamster Inn. Published by HyperBeard Games, and co-developed by Mum Not Proud and Little Sasquatch Studios, it's time to... | Read more »
Amikin Survival opens for pre-orders on...
Join me on the wonderful trip down the inspiration rabbit hole; much as Palworld seemingly “borrowed” many aspects from the hit Pokemon franchise, it is time for the heavily armed animal survival to also spawn some illegitimate children as Helio... | Read more »
PUBG Mobile teams up with global phenome...
Since launching in 2019, SpyxFamily has exploded to damn near catastrophic popularity, so it was only a matter of time before a mobile game snapped up a collaboration. Enter PUBG Mobile. Until May 12th, players will be able to collect a host of... | Read more »
Embark into the frozen tundra of certain...
Chucklefish, developers of hit action-adventure sandbox game Starbound and owner of one of the cutest logos in gaming, has released their roguelike deck-builder Wildfrost. Created alongside developers Gaziter and Deadpan Games, Wildfrost will... | Read more »
MoreFun Studios has announced Season 4,...
Tension has escalated in the ever-volatile world of Arena Breakout, as your old pal Randall Fisher and bosses Fred and Perrero continue to lob insults and explosives at each other, bringing us to a new phase of warfare. Season 4, Into The Fog of... | Read more »

Price Scanner via MacPrices.net

New today at Apple: Series 9 Watches availabl...
Apple is now offering Certified Refurbished Apple Watch Series 9 models on their online store for up to $80 off MSRP, starting at $339. Each Watch includes Apple’s standard one-year warranty, a new... Read more
The latest Apple iPhone deals from wireless c...
We’ve updated our iPhone Price Tracker with the latest carrier deals on Apple’s iPhone 15 family of smartphones as well as previous models including the iPhone 14, 13, 12, 11, and SE. Use our price... Read more
Boost Mobile will sell you an iPhone 11 for $...
Boost Mobile, an MVNO using AT&T and T-Mobile’s networks, is offering an iPhone 11 for $149.99 when purchased with their $40 Unlimited service plan (12GB of premium data). No trade-in is required... Read more
Free iPhone 15 plus Unlimited service for $60...
Boost Infinite, part of MVNO Boost Mobile using AT&T and T-Mobile’s networks, is offering a free 128GB iPhone 15 for $60 per month including their Unlimited service plan (30GB of premium data).... Read more
$300 off any new iPhone with service at Red P...
Red Pocket Mobile has new Apple iPhones on sale for $300 off MSRP when you switch and open up a new line of service. Red Pocket Mobile is a nationwide MVNO using all the major wireless carrier... Read more
Clearance 13-inch M1 MacBook Airs available a...
Apple has clearance 13″ M1 MacBook Airs, Certified Refurbished, available for $759 for 8-Core CPU/7-Core GPU/256GB models and $929 for 8-Core CPU/8-Core GPU/512GB models. Apple’s one-year warranty is... Read more
Updated Apple MacBook Price Trackers
Our Apple award-winning MacBook Price Trackers are continually updated with the latest information on prices, bundles, and availability for 16″ and 14″ MacBook Pros along with 13″ and 15″ MacBook... Read more
Every model of Apple’s 13-inch M3 MacBook Air...
Best Buy has Apple 13″ MacBook Airs with M3 CPUs in stock and on sale today for $100 off MSRP. Prices start at $999. Their prices are the lowest currently available for new 13″ M3 MacBook Airs among... Read more
Sunday Sale: Apple iPad Magic Keyboards for 1...
Walmart has Apple Magic Keyboards for 12.9″ iPad Pros, in Black, on sale for $150 off MSRP on their online store. Sale price for online orders only, in-store price may vary. Order online and choose... Read more
Apple Watch Ultra 2 now available at Apple fo...
Apple has, for the first time, begun offering Certified Refurbished Apple Watch Ultra 2 models in their online store for $679, or $120 off MSRP. Each Watch includes Apple’s standard one-year warranty... Read more

Jobs Board

DMR Technician - *Apple* /iOS Systems - Haml...
…relevant point-of-need technology self-help aids are available as appropriate. ** Apple Systems Administration** **:** Develops solutions for supporting, deploying, Read more
Omnichannel Associate - *Apple* Blossom Mal...
Omnichannel Associate - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Read more
Operations Associate - *Apple* Blossom Mall...
Operations Associate - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Read more
Cashier - *Apple* Blossom Mall - JCPenney (...
Cashier - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Blossom Mall Read more
IT Systems Engineer ( *Apple* Platforms) - S...
IT Systems Engineer ( Apple Platforms) at SpaceX Hawthorne, CA SpaceX was founded under the belief that a future where humanity is out exploring the stars is Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.