New email message with a global keyboard shortcut

I got, for the first time in my life, a Mac this Christmas and I was wondering if it is possible to create system-wide keyboard shortcut.

No matter what app I is using, is there a way to configure a combination of keys so that the new email screen in Mail.app opens? Or, to have the Compose message screen from Gmail?

I understand that I can use command + N in Mail.app, and C in Gmail web interface, but I would like a global shortcut.


Solution 1:

One option is to assign a keyboard shortcut to a script like this:

tell application "Mail"
    make new outgoing message with properties {visible:true}
    activate
end tell

Another option is to create a service like this with Automator:

You can give the service a keyboard shortcut from the Keyboard preference pane.

Solution 2:

I once found a solution for this over at macrumors.com, that works for me. I will quote the important parts (original post from swiftaw):

  1. Create a service in Automator

    • Open Automator
    • Select Service template
    • On the right hand side, use the pull down menus to make it say "Services receives no input in any application.
    • From the left hand panel select Mail, then drag "New Mail Message" to the right hand panel.
    • Save, give it a name like "New Mail Message"
  2. Create a keyboard shortcut

    • Open System Preferences
    • Select Keyboard
    • Select Keyboard Shortcut
    • Select Services
    • Find "New Mail Message" in the list, add keyboard shortcut (I used Shift+Apple+M) by clicking to the right of the name.
  3. Check that it works. (You can also launch it by clicking on AppName->Services->New Mail Message in the menu bar of any App. Note, if Mail isn't running, Mail will launch and then create a New Message.

But there is also a built-in solution for composing a new e-mail from anywhere, although it is not a keyboard shortcut: ctrl+click or right click on the Mail.app icon in the doc to get the menu and select Compose New Message.

Compose New Message from dock

Also, there are some individual application shortcuts from within the applications like CMD+i from within Safari.

Solution 3:

Quicksilver with the Mail Plugin can do this. Unfortunately Quicksilver settings seem to have changed significantly from version to version so it can be quite difficult to figure out for the first time. This site is currently up to date with the QS preferences: http://blog.qsapp.com/post/4866725595/searching-the-web-with-quicksilver

It solves a slightly different issue, but provides the info you need to navigate QS's preference panes if you need to.

The basic process to send a message is to open Quicksilver (with Cmd-SPC or whatever hotkey you've chosen), press ".", type your message, tab-tab, then choose your recipient.

The link above explains how to set a trigger, so you can open the compose window from a single hotkey.

A word of warning - my experience with QS is that it is fantastic when you get it working, but it takes a lot of effort to initially get it working.