...well, at least I think so.
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.
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:
paramater=value). I should write it in XML. Since the program already has XML support for the control files, the cost is low.