bssmtp: a better version of sSMTP (abandoned project)

...well, at least I think so.

This project is now abandoned...

While I had grand ideas for bssmtp, I started writing it and ran into packaging it for Debian with Perl's checking for setuid'ed programs.

I have now switched back to using Postfix on my laptop. I still think that bssmtp would be worth coding, but I will need a second try at it, or at least the courage to get into my code again.

Maybe it's time to start playing with Python to find some motivation and maybe to start a religious war too.

... but you can still read on to see what I had in mind

I maintained sSMTP, a simplistic mail transport agent originally written by David Collier-Brown, for more than two years. I had fun doing it. However, I did not use it anymore, so I stopped developing it. Later I had other opportunities to reuse it, but I thought that it didn't fulfill my needs, so I preferred to tailor Postfix to my needs.

I recently realized that a lot of people still use it, and although I am not the maintainer anymore, people keep asking me questions and requesting features. I started thinking about how to improve it so that I can use it again and make other people happy. I do not know if I will ever get to coding this, but I want to at least capture my thoughts here.

People like sSMTP because:

However, there are a few things that are annoying:

I am therefore tempted to rewrite sSMTP from scratch, keeping all that in mind. If I do so, I will probably do so in Perl. Some people will say that it will become heavy, but every Unix installation out there has Perl installed, and mail handling is mainly string matching, so Perl is really a good choice in my opinion. You can read about the design I have in mind.

Download an alpha version

I cannot stress enough that this is alpha version of the software. There are lots of things unimplemented right now, but it can send email if you configure it correctly. Of course, it is undocumented: I haven't written any documentation yet.

Here is version 0.2 (3 March 2001). I do not know what I will do next: let it die or finish implementing it. We will see if people are interested or not. You can drop me a line about what you think about that.

If you like taking risks, you can have a look at version 0.1 (18 February 2001) which was the very first version that I wrote in a day, and which had some serious bugs.

There is also a snapshot of bssmtp (whose state is unknown, so it's basically there so that you can have a look at the code).


If you want to know the gory details about the status of the program, you can check out the change log.

The features of the current version are:

What the current version does not do:

Hugo Haas <>
$Id: index.html 1590 2001-12-31 00:10:42Z hugo $