Ged Haywood wrote:
> 
> Hi there,
> 
> On Tue, 11 Dec 2001, Jonathan M. Hollin wrote:
> 
> > When using Mail::Sender only the first email is sent on my mod_perl server.
> > When I investigated, I realised that the socket to the SMTP server was
> > staying open after the completion of that first email (presumably mod_perl
> > is responsible for this persistence).
> >
> > Is there any way to defeat the persistence on the socket while running my
> > script under mod_perl, or do such scripts always need to be mod_cgi?
> 
> The idea is for the mod_perl process to complete its job and get on
> with another as quickly as possible.  Waiting around for nameserver
> timeouts and such doesn't help things.
> 
> You might be better off re-thinking the design for use under mod_perl.
> This is a well-trodden path, have a browse through the archives.
> 

Yes, this has come up before. Ideally you want to separate out your mail
service and pass your mails to a queue. Then, wholly independent of your
app, your smtp server can negotiate with remote hosts and generally do
its thing. That is, you shouldn't even make your app wait for your SMTP
server to send an email before you free it to handle the next request.
This is analagous to using a proxy server to handle slowish clients. See
the guide, archives.


Ed

Reply via email to