Last October, I posted some sample code for a Growl notifier for Mailsmith. Unfortunately, the 0.6 release of Growl changed the AppleScript API and broke my script.
Here is an updated version that works with Growl 0.6:
on run tell application "GrowlHelperApp" register as application "Mailsmith Notifier" ¬ all notifications ["Incoming mail", "Error"] ¬ default notifications ["Incoming mail", "Error"] ¬ icon of application "Mailsmith" end tell tell application "Mailsmith" set unreadCount to unread interesting end tell set unreadCount to unreadCount & " unread" as string tell application "GrowlHelperApp" notify with name "Incoming mail" ¬ title "Incoming mail" ¬ description unreadCount ¬ application name "Mailsmith Notifier" end tell end run on ErrorLogged(theMessage) tell application "Mailsmith" set msg to (name of theMessage) end tell tell application "GrowlHelperApp" notify with name "Error" ¬ title "Error" ¬ description msg ¬ application name "Mailsmith Notifier" end tell end ErrorLogged
Because the script now registers with Growl, you can control how Growl treats the incoming mail and error notifications in System Preferences.
This is still imperfect. The registration command should probably be moved into a separate routine and called from the error notifier as well. (Alternately, you could put registration in a separate script and only call it once. I’ll have to experiment.)
More frustrating are some limitations in Mailsmith. Whatever algorithm Mailsmith uses to calculate the number of unread messages gets confused if you delete mail. I’ve seen messages saying things like “-2500 unread”, which is obviously nonsensical. In any case, what I want is the number of new messages, not necessarily the number of unread messages.
Mailsmith’s error messages use some non-ASCII characters in their subject lines, but rather than provide them as a Unicode string, Mailsmith returns subject line in quoted-printable encoding. As a result, I see notifications like this,
Error -3220 receiving mail from =?iso-8859-1?Q?=B3mail=2Esecondsaturdays=2Eorg=B2?=
Error -3220 receiving mail from “mail.secondsaturdays.org”
Annoying, but not unbearable. One of these days, I’ll write to Bare Bones and ask them about it.