Skip to content
Send HTML formatted emails from the command line
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Initial commit Jan 3, 2013
LICENSE Moving from Jan 3, 2013 Switch from getopt to argparse and update for python3 Aug 5, 2017 Switch from getopt to argparse and update for python3 Aug 5, 2017


Send HTML formatted emails from the command line. For the impatient, it's written in python and works like the old BSD mail command.

A Brief History

Back in the dark ages, people used a program called mail to read and send electronic mail. mail was pretty sweet for it's time, the man page calls it an intelligent mail processing system. It lets you read your incoming mail (but not paginate it), and also can compose outbound mail (but no editing, once you typed the line you either sent it or started over) using nothing more than an account on a VAX-11/780 and a VT100 terminal. This was back before graphics were invented, and when unix programs did one thing well, and that's it. If you wanted to edit your message before you sent it, you fired up vi and edited a text file, then piped that file into mail to send it. No address book. No spam. Nothing fancy.

Today, most *nix machines don't even have mail installed. However, I still occasionally have a need to send emails from the command line, and mail works fine. Except for one thing. It can't send HTML formatted messages.

hail works kinda like mail, except it can send HTML formatted messages. Oh yeah, and hail doesn't read mail. There, I broke Jamie Zawinski's Law of Software Envelopment which states:

"Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can."

For all you kids out there who have never heard of Jamie Zawinski, he worked at Mosiac Communications Corporation back when Windows was still a 16 bit OS. He wrote the unix version of Netscape (which later became Netscape Navigator and which is now Mozilla Firefox). And yes, he was the guy who wrote the first version of Netscape Mail and News.

Download and Install

You need 2.7+ or 3+. Rename to hail, make it executable, and put it in your path.

To run it on Windows, you may need to do some tweaking.


Check the LICENSE file, but it's the MIT License, which means you can do whatever you want, as long as you keep the copyright notice.

You can’t perform that action at this time.