[Mailman-Developers] an opinion about using port 25

The Dragon De Monsyne dragondm@delta.integral.org
Mon, 27 Jul 1998 05:20:18 -0500 (CDT)


On Sat, 25 Jul 1998, Dan Ohnesorg, admin of POWER wrote:

> On 25 Jul 98, at 0:59, Gergely Madarasz wrote:
> 
> > As I said in one of my previous postings... sendmail can be called from
> > the command line to talk SMTP just like as connected to port 25 
> > (sendmail -bs). I expect most other MTA's have the same features, with
> > perhaps a bit different command line. So the only difference between using
> > a local MTA and connecting to port 25 would be to open a two way pipe to
> > 'sendmail -bs' or whatever (all sendmail-compatible mta-s, like exim or
> > smail should have sendmail -bs) instead of connecting to port 25. All the
> > rest is the same. So the only change needed here would be in the connect
> > function of smtplib -> not a mailman issue but a python issue :) 
> > This would be much-much nicer than mailman trying to queue mails.
> 
> I have made patch, which uses delivery status notification. This 
> will be probably included in some of next revision. I have not 
> found some posibility, how detect ob MTA knows this feature, 
> other than parsing respond to EHLO request. Delivery status 
> notification is very nice feature, I am using only notify=failure and 
> the list is shielded before warnigs like, mail was not delivered 
> within 4 hours and so.

	hmmm... Well, parsing the ehlo responce _is_ the proper way to
detect support for any esmtp feature, like DSN. I also want to point out
that the latest version of the smtplib included in the python distribution
(which is NOT the same as mailman's smtplib) has full ESMTP support. This
latest version (http://www.integral.org/~dragondm/python/smtplib.py) will
be the smtplib included in the python 1.5.2 distribution. Also, unless
someone else does it first, as soon as I can get the latest 1.0b5
code [1], I will be submitting patches for mailman to substitute this
smtplib for the one currently included with mailman. The reason for that
is that way, any improvements/bugfixes to the module could eventually be
folded into the next python distribution.  


	Now, as for 'sendmail -bs' well, yes you could do that. with the
python smtplib, it would be a matter of subclassing smtplib.SMTP and
overriding the methods that open, read from, and write to the socket, 
however I would reccomend against it. If the local smtp listener is
refusing messages, 9 times out of ten there is a good reason for it
(perhaps the server's overloaded). The best choice is for mailman to
queue the message, and fer a cron job or such to try again later. Port 25
smtp is the 'universal' interface for mta's, and trying to cater to
everything else out there is asking fer coding nightmares.   


Notes:
[1]   Erm, whhen's this going to be out? What happened to 'Release
early, release often?' I've had things I would have liked to have coded
and submitted by now, but I've been holding off on fer nearly a month
wating for the latest code. Mebbe we need stable/unstable tracks like the
linux kernel? With unstable releases VERY often.
 
	-The Dragon De Monsyne