My quest to keep tweaking my e-mail system is reaching new lows, but soon the frankenMTA may rise.|
This whole thing started out rather normally and logically - I wanted to get away from sendmail on the server I run, and qmail looked like the perfect choice.
Later, I wanted to be able to search all the e-mail I have ever received from one interface, and moving everyone's mail into Cyrus seemed to be the best option.
At this point, it took a little work to make the two cooperate, but a little bit of shell scripting to wrap the deliver function, and then people could use qmail suffixes to point to Cyrus mailboxes making everyone happy.
Then, I realized that one mailinglist host which a bunch of us subscribed to lists on supported QMTP, so of course I had to add send and receive QMTP support.
As soon as I finished tweaking my MX entries, I added Spamassassin to the mix. Spamd was up and running with no trouble, and a little hacking of my wrapper scripts let users opt out entirely, tag their mail, or just dump spam before they saw it..
Everything was rather complex, but still ticking along fine.
Then I started looking at the client end...
Hmmmm - I have a bunch of boxes on my internal network - I should have my internal mail queue up on one, so that if my cable modem goes out, I can still just fire and forget my e-mail knowing that it will be sent when the connection comes back up. And wouldn't it be cool if I could wrap the outgoing connection between my local net, and my remote mailserver in a SSH connection. Hey - there's another daemon that is part of Qmail that I'm not using - QMQP. I should tunnel a QMQP connection between my local and remote servers over SSH.
And thus, it started...
It was only a matter of seconds to set up the QMQP server, and a few minutes more to set up a daemontools monitored SSH tunnel between the two machines - the problem arose with the choice of the MTA .
Hmmmm - Mini-Qmail does most of what I want, but it doesn't use a local queue. Nullmailer has a local queue, and does QMQP, but it won't accept outside mail. I wonder if I can mix the two.
And with that thought, I installed Qmail, gutted it, and began replacing components with bits of Nullmailer, as I attempted to crudely stitch the two MTA's together, fighting with incompatible syntax and queue structures.
The scary part? It's almost working.
The really scary part? If I get this working, what will I be compelled to do next?