
The default interface for Mail signatures allows you to do rich text signatures using the fonts and colors palette. You can even drag an image into the compose signature window and it will be included in every email as an attachment. This is fine for most people, but attachments should be just that, an attachment of a file I am sending, not an image in my signature. So here’s an easy guide on how to do CSS signatures referencing images on an outside server and not as an attachment.
This tutorial covers Apple Mail in Mac OS X Tiger v.10.4
STEP 1: Create a new Mail signature

Launch Mail, located in the Applications folder. From Mail’s top menu, select ‘ Mail > Preferences ‘ and go to the Signature pane. From the Signatures pane, click the plus icon underneath the middle column to create a new Signature. In this example I cleared all my previous signatures for the purpose of clarity but this is not required. Once your signature is created, quit Mail by selecting ‘ Mail > Quit Mail ‘ from the top menu.
Step 2: Create your new signature in a text editor

Using a text editor application, create your signature using html and css.
TextEdit can be used for this, just make sure save as HTML and not rich text. If you want to use my signature style, just download my html sample file and use it as a starting point.
UPDATE: After publishing this, some of you have discovered that GMail will not display any of the CSS unless it’s inline. So here’s a new revised sample file that has all the CSS inline including the image as an img file instead of a a background css attribute. When using this method, GMail will show a link giving the user the option of showing the embedded images.
If you are starting one from scratch check out A List Apart’s article on CSS in emails. In summary, do not use html, head or body tags, use divs instead. Use embedded CSS not extarnal. Do not use classes that start with a dot, but u can do #div .class instead. The same goes to the a: tag.
Step 3: Create Web Archive from signature

Open the signature html file you just created in Safari. You can do this by dragging the actual file icon into the Safari icon in your dock. This should look exactly as you want your signature to look like.

To save this as a web archive, from Safari’s top menu select ‘ File > Save As… ‘ and save the signature as a Web Archive by selecting ‘Web Archive’ on the Format pulldown menu. Saving to the Desktop makes it easy to find for the next step.
Step 4: Replace old signature with the new one

From the finder, navigate to ‘ your home folder > Library > Mail > Signatures ‘. Since I only have one signature in Mail, there’s only one ‘.webarchive’ file in this folder. If you have more than one signature, you need to find the one we created on step 1. Open the web archives in Safari to find the one we created in step one. Copy the file name of the archive file and paste the name in the new archive file on the desktop to rename it. Now drag the new signature archive from the desktop into the Signatures folder. It should prompt you asking if you want to replace the file, which you do.
Step 5: Activating the new signature

Launch Mail and select ‘ Mail > Preferences ‘ from the top menu then go to the Signatures tab. You can rename the signature name here by double clicking it’s name and renaming it. Notice that Mail will not properly render the html in this Signature window but it will render it properly in the compose window.

Now drag the signature to the mail accounts you want it available for.

Then select the account from the left column and select the new signature from the ‘Choose Signature’ pulldown menu. This will make it the default signature for that account.
Step 6: Testing our new CSS signature

To test our new signature, compose a new email and send it to yourself. You should be able to see the signature in the compose window.

Click the send and receive button to receive you new email. You should get a new email with your spanking new fancy signature that contains no image attachments. What a concept!
UPDATE: Guide to CSS Signatures on jail broken iPhone by Jiradett
Hello, I am Melvin Rivera; creator of
Follow me @


Great tip Melvin and worked smoothly except for the fact that the image, which works fine in Safari, doesn’t appear in mail or in webmail clients. Any ideas?
Hey, fantastic tutorial. I was however wondering how I could use the sig but increase the picture size. I have no CSS / coding experience whatsoever and cant seem to figure this out. Any help would be greatly appreciated :)
euan,
the picture works in mail as you can see in the screenshots. it also works in webmail clients but you might have to explicitly set the preferences to show html and images. i tried it in squirrel mail and had to set these two for it to work.
lonely canuck,
you can use any image size you want since it’s no explicitly set. however u might have to add change the margin on the left by changing “padding-left: 30px;” to a higher number of pixels.
Looks and works great. Thanks !
For some reason the css signature does not appear, the default text appears instead.
This is similar to how it works in thunderbird (and other email clients) but the use of DIVs and CSS allows you a lot more control.
Yeah, but, can only other Apple Mail clients see the CSS? It looks great in my Mail client, but outlook and gmail users can’t see the pics or most of the formatting beyond fonts… :(
so sweet!
that’s a ton of junk mail
If, like most people, you have chosen to not display HTLL images, to avoid validating your address to spammers, then the CSS background image will not be displayed either.
You can avoid this problem by using a “data” url (see http://en.wikipedia.org/wiki/Data:_URL for more info). Here is an online tool to encode in base64 your images :
http://www.sveinbjorn.org/dataurl_generator
Other problem : if your styles aren’t “inline”, they will be discared by various webmail clients. This works for Gmail, I haven’t tried with the other major ones.
Gmail will also discard all images (including the data: ones), so no luck there.
Another enhancement: for the AIM link, you can use the aim: URI scheme to create a new chat window. Learn about them here: http://journals.aol.com/juberti/runningman/entries/131
(Unfortunately, Gmail will also strip those links away).
HTH !