The text editor TextMate
comes bundled with an “Edit in TextMate” input manager which allows you to call Textmate as an external editor in Cocoa apps.
If you select the Install “Edit in TextMateâ€â€¦ action located in your TextMate bundle (using the gear menu in the status bar), you will get a full explanation and a button that creates the required symbolic link for you.
Then, when you want to write a reply or compose a new message in Mail.app, just hit the keyboard shortcut and get to work:

When you are done, Command-S saves your work and inserts it in the message:

I have also found this useful when working in other apps. For example, if you are editing a 37Signals Writeboard
, Command-Shift-S offers you a quick way to save your work off as a text file on your hard drive.
UPDATE: The TextMate people picked up this post on their own blog and offer some extra nifty tips
on how to get the most out of TextMate as an external editor in Mail.
[From the TextMate mailing list
and Manual
]

I followed the instructions and got it installed okay. I can see the ‘edit in textmate’ menu item and nothing happens.
Anyone got an idea about what’s not working?
Works for me with Safari… I’m typing this text in a TextMate window right now, in fact. I don’t use Mail on this system so I can’t check it there.
This could certainly influence my decision to buy TM.
Is there a way to do this from other editors (e.g. emacs?)
If you meant with other editors, TextMate is the only one I’m aware of that can be launched from most Cocoa apps for external editing. And some apps let you select from a limited choice of supported external editors.
Not that I know of. The people I know using emacs tend to be hooked into mutt (or other examples of that kind of thing). But I could be wrong.
[...] be it for coding, blogging, editing wiki pages (and other Safari-based content), or sometimes even writing e-mail. So, if I can use TextMate to find my way around a man page, that’s an all-around [...]
[...] in TextMate†einfügt. Damit kann man nun in Safari sowie in anderen Anwendungen, wie zum Beispiel auch in Mail, TextMate als Editor-“Ersatz†nutzen. Ein Ctrl+⌘E zum Editieren und ein ⌘S und [...]
[...] Hawk Wings » Blog Archive » Using TextMate to edit emails in Mail.app The text editor TextMate comes bundled with an “Edit in TextMate” input manager which allows you to call Textmate as an external editor in Cocoa apps. [...]