Setting up HTML signatures on OSX

Lately, I had to deal with the OSX mail app while trying to install some HTML signatures. It’s surprising to see that in 2017, there’s still e-mail clients that don’t accept HTML signatures. Thunderbird lets you pick an HTML file and you’re done, but with OSX’s mail app, things can get a bit difficult.


First of all, you’ll have to create your html signature: Make it the way you like, insert images, etc… Once you’re done, head to your Mac and fire up the Mail app, here’s where things get tedious:

Create a blank signature: This will be a placeholder, we just want the app to create a certain hidden file that we will later edit and include the HTML in.

Once the signature is created, save it and completely close the mail app: I can’t stress this enough: The mail app must be closed and not opened until the whole process is finished

Next, fire up the terminal and navigate to


and find the latest created .mailsignature file.

Open this file:

open -a textEdit CC820FFC-0F10-4D9E-8637-3D823E865F43.mailsignature

Then, replace everything inside the <body> </body> tags for the content inside the same tags from the signature you want to use, then save and close.

Finally, there’s a catch: Once you open the mail app, it will restore your previous signature, so you will have to lock the archive to prevent it from any further changes:

Do this with:

chflags uchg CC820FFC-0F10-4D9E-8637-3D823E865F43.mailsignature

And you’re done!!!! – or are you?

Well, mainly, for newer versions of the system (I think 10.7 onwards) this would be the method, but on older versions, you would have to do a couple of things different:

First, you’d have to go to


Note this time it’s V2 instead of V3.

Open your signature on Mac’s Safari and save it as a .webarchive file

Inside the Signatures folder you navigated to before, there would be a newly created .webarchive signatire: Yes, you guessed it right: You’ll have to replace this .webarchive file with the one you saved with Safari, keeping the filename and finally, lock it again so the mail app does’nt revert the changes:

chflags uchg CC820FFC-0F10-4D9E-8637-3D823E865F43.webarchive


After days banging my head trying to understand why any company would force their users to hop through these kind of loops in order to get a simple html signature, I only can come up with a thought: Why, oh, apple… why?!