How many times have you gone to send an email, only to be distracted or even derailed by something that you found in your Inbox? I found a solution which is completely free, integrates completely with OS X, and which guarantees that it won't happen to me again. I even found a (partial) solution for iOS devices as well.
One night around 11 p.m. I remembered that I needed to send an email to someone so it would be there for them first thing in the morning, so I launched Gmail (actually Mailplane) as I started to formulate the message in my head as I waited for it to load. Then it happened. I saw a message from someone that I wished I hadn't seen. I could have tried to ignore it, but my brain isn't fooled that easily.
Once I saw the From: line, it almost would have been worse not to read it, because then I would have been wondering what it said. To be clear, I couldn't really do anything about the message. If I had just gone to bed without checking my email, I would have seen it the next morning when I was at the office. But my brain had already started thinking and processing. I read the message, I started to think about what I needed to do in response to it, and other people I need talk about it.
Almost 30 minutes went by before I remembered, "Didn't I come over here to start writing an email to someone? Steve. I was going to tell Steve something. What was I going to tell him?" Now hopefully your brain works better than mine does (I did eventually remember the original message I was going to send), but if you have ever tried to get into the habit of checking email less often you might have run into this same problem:
Email apps expect that when you want to send email you also want to check email. (Merlin Mann recently mentioned this problem on an episode of Back To Work, which is what reminded me about it.) I ran into this problem when I tried to start checking email once or twice a day. Quitting my email app was easy, but then a few minutes later I realized that I needed to send an email. So I launched my email app again. Hey look, new email!
Solutions which didn't work
1) "Just ignore it." Ideally this wouldn't be a problem because by sheer force of will I could just ignore messages which are unread and untended. Most of the time I am very good about that. I have an extensive and elaborate set of Gmail filters which almost guarantee that nothing ends up in my Inbox directly. Everything is sorted to where it belongs, and when the time comes I can check by various folders (sorry, "labels") later on. But, at least for me, any system which depends on sheer force of will is like building a sandcastle at the beach. No matter how tightly I pack the sand, eventually the tide is coming in. I once complained that I couldn't go into a bookstore without buying a book, even if I just intended to browse. I always seemed to find something. My friend replied, "Look, if you know this about yourself, you have two choices: either don't go into the bookstore, or accept the fact that if you do you're going to buy a book. Stop beating yourself up over it." (It's nice to have smart friends.)
2) "Use a Dashboard Widget!" This was actually the first solution I tried. I found a Dashboard Widget which would send email through Gmail. It seemed like the ideal solution: press F12, write an email, click send, voilà! But it didn't work well for two reasons: it didn't autocomplete email addresses from my address book. (How many people's email addresses do you have memorized?) When I clicked on an email address on a web page, or from my address book, or any other source, it launched my default mail client.
3) "Write and save email drafts somewhere other than my mail client, then copy/paste them into my mail client later." I tried keeping email drafts in nvALT when I wasn't checking email, and then when I was ready to check email, I would copy each message into a new "Compose" window, and send it. This isn't a bad solution, but it didn't fix the 'click on an email address' problem, plus it created another step every time I wanted to send an email message. Then there was the potential problem of forgetting to send the messages later, or needing to send a message immediately.
4) "Just turn off fetching new messages." Another seemingly foolproof method that I tried was simply turning off auto-fetching of new messages. This doesn't work very well in Gmail, of course, because there is no "fetching" in Gmail, when you login, messages are just there. Mailplane will let you turn on "Do Not Disturb" which keeps it from notifying you that new messages have arrived, but you can still see them if you look. If you use Mail.app or another client, this can work, except that many clients will automatically fetch new email whenever they are launched, even if they are set to manually fetch messages. Then there's the whole "Oh, while I'm here I'll just take a look at this other folder really quick..." problem. Turns out this is just another variation of the "Just Ignore It" idea.
The solution that worked
Finally it occurred to me that what I needed was a second email client, one which was setup only to send, and not to receive. I tried Mail.app and Thunderbird but found that neither one of them worked the way that I had hoped. Then I remembered Mailsmith, the mail client formerly developed by the folks at Bare Bones but which owned by Stickshift Software.
Mailsmith was ideal for several reasons: first, Mailsmith understands the concept of a "Send Only" account. I didn't have to try to "trick it" into working that way, it was happy to do so if I just told it that's what I wanted. That was the most important criteria. Since it is a real mail client, I can set it as the OS X default and have new messages started in it, plus it will auto-complete email addresses as I type them. As bonus, Mailsmith can also be configured to create a new blank email message whenever the application is launched or activated by either clicking on the dock icon or activate it via LaunchBar, Alfred, etc when it is already running. Since all I'm using it for is sending emails, that was nice icing on the cake.
As a long-time user of Gmail/Mailplane, I'm used to having to wait between the time I launch the browser/app and when the site actually loads. Even on a decent connection, launching Mailplane and waiting for a new compose window can take 15 seconds. Not an overly long amount of time, but Mailsmith is ready is about 1 second. That's a significant difference. Mailsmith can also easily work offline, allowing you to queue messages for later delivery.
Lastly, Mailsmith is free. That was the least important criteria, but a free solution that works well is always a nice bonus.
Setting up Mailsmith is a fairly straightforward process. I'll outline the process for sending through a Gmail account (a Google Apps account should work the same way), but you could do the same thing with any email account.
Step 1) Download and install Mailsmith. If you have another mail client already installed and configured on your computer, Mailsmith might offer to import your settings. I recommend choosing Mailsmith Default and entering them yourself.
Step 2) In Mailsmith's preferences under "Application" look for "Default Mail Client" and click the "Set to Mailsmith" button if you want Mailsmith to automatically respond to email addresses clicked from other applications (web browsers, Address Book, etc). This is optional but highly recommended.
Step 3) Immediately under the "Set to Mailsmith" button, look for "At Startup" and select the "New mail message" radio button. That will tell Mailsmith to create a new, blank email message whenever it is launched or activated by clicking on the dock icon or using a launcher such as LaunchBar, QuickSilver, or Alfred.
Step 4) Configure your account. Mailsmith puts Account settings under the "Window" menu, as shown here:
In the accounts window, on the "Checking" tab, leave everything blank like this:
That tells Mailsmith not to even attempt to fetch email from this account, which it is happy to do.
Then, under the "Sending" tab, enter the information as required. Google provides instructions for sending via SMTP through Gmail which we need to enter here and in the "Advanced" tab (we'll get to that).
The "Account Name" and "Sender's Name" can be whatever you want. The "Sender's Name" will appear in the From line in your outgoing email. The Account name is just used for reference.
Make sure the SMTP Server Name is "smtp.gmail.com" and check the box next to "USe SMTP Authentication" then put in your Gmail email address and password in the SMTP User ID and Password fields, respectively.
Note: The "Reply Address" field must be filled in, but Gmail appears to ignore whatever you put in it. It will not set a Reply-To: header. If you want to do that, try adding one to the "Headers" tab.
Finally, the "Advanced" tab needs to have the SMTP Port set to 465, and make sure that SSL is set to "Required" because Gmail does require it.
After that it's a simple matter of starting a new email message. Mailsmith will read email addresses from the OS X Address Book and auto-complete as you type.
If you have more than one account that you want to be able to send from, you will have to repeat this process for each of them, but you can also set keyboard shortcuts to determine which account to send a new message from. See below for more.
Mailsmith uses "Command + E" to "Send Now" (or Message » Send from the menu bar) or you can tell Mailsmith to queue your outgoing mail by using "Comamnd + Option + E" (or Message » Queue for Sending from the menu bar). Queued messages will not be sent until you choose "Send Queued Mail" either from the Mail menu or by pressing Command + Shift + K. (Queued messages cannot be edited, but can be deleted.)
If you are used to the "Command + Shift + D" keyboard shortcut from Mail.app (and Mailplane), you may want to go to System Preferences » Keyboard then click on "Keyboard Shortcuts" and "Application Shortcuts." Click on the + (see the red box in the image below) to create a new shortcut.
Set the Application to Mailsmith, the Menu TItle to "Send Now" (note that both words are capitalized) and enter the Command + Shift + D shortcut. It should look like this:
If you add more than one account, you can setup keyboard shortcuts to send from each account. Look under File » New from Account and you will see each account listed by the "Account Name" that you added. Just make sure each one of those is unique and you can set a keyboard shortcut for it by repeating the process above and putting the Account Name in instead of "Send Now."
What about iOS?
Once I set this up on my Mac, I realized that it would also be nice to have on my iPad as well. I am not aware of any 3rd-party mail clients for iOS, and everything I found on the App Store seemed to be focused more on notifying me about incoming mail rather than sending it.
Draftpad is extremely fast. It launches and is immediately ready for me to start typing. When you finish typing a message in Draftpad, you can opt to send it to many different places using what Draftpad calls Assists. These will send your message to email, SMS, Twitter, or any of a bunch of other destinations using their extensive Assist Library. You can even create your own. Do you often send messages to your spouse, coworker, or maybe to yourself via Simplenote or Evernote? Create an "assist" which will automatically fill in the "To:" line of your email address. Write your message, send it to Mail, fill in the "To" line, and tap send. Couldn't be any easier. After it goes, it will bring you back to Draftpad.
Draftpad is available on the app store for iPad or iPhone/iPod touch.
Try it, you might like it
At first it felt a little strange thinking of "writing email" as a separate task than "reading email" but I have really come to enjoy it. Naturally, I still reply to emails from within Gmail when I am reading email, but when I'm ready to be done checking email, this setup ensures that I can do that without hindering my ability to send email.
If you use Gmail or any webmail for your outgoing mail, you'll be amazed how much faster it is to dash off a quick email using a local client. I love Gmail with Mailplane, and I'm never tempted to use an IMAP client instead, but I do like the sending speed. The ability to write emails offline is a nice plus too.
One final (tangentially related) note: another key to staying away from your incoming email is to make sure that you are not storing information that you need in your email. If you need to followup on something in your email, put it into OmniFocus or Evernote or Simplenote, or whatever you use to keep track of your tasks. Storing it in your email makes it harder to find, plus it keeps you tied to your inbox.