- In the Finder, go to Applications: AppleScript, and launch Script Editor.
- Create a new script, and then copy and paste the contents of this script into the window.
[UPDATE: This script is now online; sorry for the missing file!] - Save the script in the top-level Library: Scripts: Mail Scripts folder. You can also get to this by going to Applications: Applescript: Example Scripts: Mail Scripts. Call it 'HTML Formatting' (or whatever you want).
- Go to Mail.app, open the Script menu (the little icon before help) and select "Update Scripts Menu."
- Create a basic HTML page with the content of your mail exactly as it should appear. Upload this to a server you can view from the web.
- In Safari (not Mozilla, Firefox, etc.), open the page so it is the frontmost window in your browser (it can be tabbed, as long as it is selected).
- In Mail.app, create a new message, with all recipients and the subject set.
- Go to the Script menu and select "HTML Formatting" (or whatever you named it).
- Click "Front window in Safari," and it will automatically send it for you.
[robg adds: I tested this script, and it does work ... and here are a couple of tips to make it perhaps a bit easier to use. First, you can store the script in your user's Library: Scripts: Mail Scripts folder (just create it if you don't have such a folder). If you store it there, it will appear above the system-provided scripts, and be much easier to find. It also removes the chance that you'll lose your script during a software update that modifies Mail's scripts, for instance.
Also, you don't need to upload the web page if you don't want to send images with the email (i.e. you're just using this method to send true hyperlinks). Instead, just enable the Web Server in the System Preferences Sharing panel, and place the file in your user's Sites folder. You can then load it in your browser, using a URL of the form http://127.0.0.1/~username/file.html, where username is your short username and file.html is the name of the file you saved. You won't be able to send images this way, as the reference to an embedded image will be "127.0.0.1," which of course won't work on the recipient's machine. You could, however, link to images on the web, and those should work (I didn't test that).
Finally, though I understand the evilness of HTML email (though not everyone agrees with me), it is sometimes nice to be able to send true links instead of really long URLs. And as mentioned above, this is *not* a solution you would use to mass mail HTML messages.]

