Re: making mail() funtion work without sendmail on UNIX systems
Rasmus Lerdorf wrote:
#1 unified configuration in php.ini for win *and* unix
That's just silly. The aim is then to implement all the things that don't
come standard with Windows but are part of UNIX in PHP?
we need the code for Win anyway, and done right it would provide
features not possible with the sendmail command line interface
so why not use it for unix to?
#2 From: header settings both message and SMTP
As long as you have a trusted sender id you can set the From header
already on UNIX.
depends on the MTA you are using and the /usr/lib/sendmail emulation it provides
#2 independance of how good the /usr/lib/sendmail binary
emulation provided by different MTAs (if at all) is
So we are going to be rewriting sendmail. Great.
i was refering to the sendmail command line interface
not sendmail as a MTA
and the primary interface to a MTA this days is SMTP,
the commandline tool is a nice addition that allows
for more easy mail generation in certain situations
but comes for the price of limited features
#4 error checking
Hrm.. Maybe, although that could be handled.
You completely lose the most important feature. A non-blocking mail()
call which queues the message. Having a web app wait on an smtp delivery
is crap. Mail should be delivered out of band.
non-blocking? mail() uses popen() and has to wait for the execution of /usr/lib/sendmail to terminate AFAIR
there is no performance penalty when talking to the SMTP
port @localhost, in both cases you have to wait for the
local MTA to accept the message for spooling
(and when localhost is just a relay you gain even more
by talking to the 'real' MTA immediately)
but SMTP comes without the additional process creation overhead
you have with the current popen("/usr/lib/sendmail ...","r")
solution and you have this overhead for *every* message you send
out while you can send several messages during a single SMTP
session
what happens today if you have an application that does more
then just simple informative messages with PHP is that you
stay away from mail() altogether and talk SMTP using fsockopen()
as the sendmail binary interface is just not up to what you need
I haven't seen anybody do this on UNIX.
well, i do in my applications and we are currently in the process
of changing all our applications here in the company as we had
various problems with mail(), even on machines running plain
sendmail
--
Hartmut Holzgraefe hartmut@six.de http://www.six.de
+49-711-99091-77
Besuchen Sie uns auf der Systems in München in Halle B1 Stand 254
Thread (15 messages)