I started writing a qmail version who use a new SMTP syntax to start a
QMTP conversation over a SMTP protocol:
S> 220 ready
C> HELO mail.test
S> 250 mail.test
C> PROTO QMTP
After this command, a standard smtp server returns a 5xx reply:
sendmail:> 500 Command unrecognized: "PROTO QMTP"
qmail:> 502 Unimplemented
My qmail-smtpd start a patched qmail-qmtpd (responding "421 failure"
if exec fail); qmail-qmtpd then reply
S> 220 switching to QMTP
and then start the new protocol.
I identified the sources to patch:
qmail-smtpd.c, qmail-qmtpd.c, and qmail-remote.c .
The patch for qmail-smtpd.c is trivial: a new smtpcommands[] entry, a new
procedure smtp_proto who check the argument and execute "bin/qmail-qmtpd"
(and print 421 if exec fails).
I then tried to patch qmail-qmtpd adding only an option to send the 220
reply, but qmail-qmtpd does not implement some useful features that must
be present on a public mail exchanger (i.e. no relay control ...).
May be it's a good idea, but the task is too big for me.
Someone interested?
--
Tullio Andreatta
Logicom S.r.l. (Gruppo Finmatica) http://www.logicom.it/
Sede operativa: Via Vergnano, 2 - I-25100 Brescia ITALY