How to better handle long email lists
am 22.10.2007 06:03:36 von Stuart
Hello,
I have a problem in that I have a few addresses for which it either
takes a while
to connect or timeout. I have enabled the timeout connect option and
cut that
down to one minute. In a list of 250 addresses, there were a few
addresses that timed
out and after 5 minutes. Hence some users experienced delays of over
30m. So the
lowering the timeout has reduced that. However, folks who have a slow
server or
are simply a boatload of hops away may not recveive mail, even though
in principle
they could.
Is there a better way to handle this? I understand that sendmail
doesn't fork itself
to send mail, just to receive mail hence if it hits a slow connection,
everything
that is waiting to be mailed after that will be delayed.
Yours,
Stuart
Re: How to better handle long email lists
am 25.10.2007 01:17:06 von per
In article <1193025816.808836.204730@q3g2000prf.googlegroups.com> Stuart
writes:
>
> I have a problem in that I have a few addresses for which it either
>takes a while
>to connect or timeout. I have enabled the timeout connect option and
>cut that
>down to one minute. In a list of 250 addresses, there were a few
>addresses that timed
>out and after 5 minutes. Hence some users experienced delays of over
>30m.
>Is there a better way to handle this?
Many, the most obvious/simple:
- Look into the confTO_ICONNECT vs confTO_CONNECT settings in cf/README.
- Use queued delivery (-odq) and run multiple queue runners in parallell.
--Per Hedeland
per@hedeland.org
Re: How to better handle long email lists
am 04.11.2007 04:20:05 von Stuart
On Oct 24, 1:17 pm, p...@hedeland.org (Per Hedeland) wrote:
> In article <1193025816.808836.204...@q3g2000prf.googlegroups.com> Stuart
>
> writes:
>
> > I have a problem in that I have a few addresses for which it either
> >takes a while
> >to connect or timeout. I have enabled the timeout connect option and
> >cut that
> >down to one minute. In a list of 250 addresses, there were a few
> >addresses that timed
> >out and after 5 minutes. Hence some users experienced delays of over
> >30m.
> >Is there a better way to handle this?
>
> Many, the most obvious/simple:
>
> - Look into the confTO_ICONNECT vs confTO_CONNECT settings in cf/README.
>
> - Use queued delivery (-odq) and run multiple queue runners in parallell.
>
> --Per Hedeland
> p...@hedeland.org
Thanks,
I've done a bit of reading on this. Still haven't gotten it to work
just yet.
What I've tried to do is split up my list of addresses into different
queue groups, and specify a number of runners for each group. I
then added QGRP entries into the access db. I still don't see
sendmail forking itself into multiple queue runners.
Here is my sendmail.mc file:
divert(-1)
#
# Copyright (c) 1998-2005 Sendmail, Inc. and its suppliers.
# All rights reserved.
# Copyright (c) 1983 Eric P. Allman. All rights reserved.
# Copyright (c) 1988, 1993
# The Regents of the University of California. All rights
reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#
VERSIONID(`$Id: version.m4,v 8.132 2005/03/25 18:44:45 ca Exp $')
#
divert(0)
# Configuration version number
DZ8.13.4`'ifdef(`confCF_VERSION', `/confCF_VERSION')
OSTYPE(`solaris2')dnl
DOMAIN(`xxxx.noaa.gov')dnl
FEATURE(`use_cw_file',`/etc/mail/local-host-names')dnl
QUEUE_GROUP(`NWPAC',`Path=/var/spool/mqueue/NWPAC, I=3m, F=f, R=4')dnl
QUEUE_GROUP(`NEPAC',`Path=/var/spool/mqueue/NEPAC, I=3m, F=f, R=3')dnl
QUEUE_GROUP(`SEPAC',`Path=/var/spool/mqueue/SEPAC, I=3m, F=f, R=3')dnl
QUEUE_GROUP(`SWPAC',`Path=/var/spool/mqueue/SWPAC, I=3m, F=f, R=4')dnl
QUEUE_GROUP(`MISC',`Path=/var/spool/mqueue/MISC, I=3m, F=f, R=3')dnl
QUEUE_GROUP(`GOV',`Path=/var/spool/mqueue/GOV, I=5m, F=f, R=2')dnl
QUEUE_GROUP(`MIL',`Path=/var/spool/mqueue/MIL, I=5m, F=f, R=2')dnl
define(`DATABASE_MAP_TYPE',`dbm')dnl
FEATURE(`access_db')dnl
FEATURE(`blacklist_recipients')dnl
FEATURE(`queuegroup')dnl
MASQUERADE_AS(`ptwc.noaa.gov')dnl
FEATURE(`allmasquerade')dnl
EXPOSED_USER(`root')dnl
define(`ALIAS_FILE',`/etc/mail/aliases,nisplus:mail_aliases' )dnl
define(`confFORWARD_PATH',`/etc/mail/forward/$u.forward')dnl
define(`confMAX_QUEUE_CHILDREN',`30')dnl
define(`confMAX_RUNNERS_PER_QUEUE',`4')dnl
MAILER(`local')dnl
MAILER(`smtp')dnl
LOCAL_CONFIG
Kprivate hash -o /etc/mail/private
Kprivateok hash -o /etc/mail/privateok
And here are a few entries from the access file:
GRP:brunei@ NWPAC
QGRP:china@ NWPAC
QGRP:hongkong@ NWPAC
QGRP:japan@ NWPAC
QGRP:korea@ NWPAC
QGRP:malaysia@ NWPAC
QGRP:philippines@ NWPAC
QGRP:russia@ NWPAC
QGRP:taiwan@ NWPAC
QGRP:thailand@ NWPAC
etc.
Now, these names are aliases (and yes I ran newaliases) and I'm
wondering if thats
causing trouble. Perhaps aliases aren't allowed in the acess db.
Thanks,
Stuart
Re: How to better handle long email lists
am 05.11.2007 05:23:02 von Stuart
On Nov 3, 5:20 pm, Stuart wrote:
> On Oct 24, 1:17 pm, p...@hedeland.org (Per Hedeland) wrote:
>
>
>
> > In article <1193025816.808836.204...@q3g2000prf.googlegroups.com> Stuart
>
> > writes:
>
> > > I have a problem in that I have a few addresses for which it either
> > >takes a while
> > >to connect or timeout. I have enabled the timeout connect option and
> > >cut that
> > >down to one minute. In a list of 250 addresses, there were a few
> > >addresses that timed
> > >out and after 5 minutes. Hence some users experienced delays of over
> > >30m.
> > >Is there a better way to handle this?
>
> > Many, the most obvious/simple:
>
> > - Look into the confTO_ICONNECT vs confTO_CONNECT settings in cf/README.
>
> > - Use queued delivery (-odq) and run multiple queue runners in parallell.
>
> > --Per Hedeland
> > p...@hedeland.org
>
> Thanks,
>
> I've done a bit of reading on this. Still haven't gotten it to work
> just yet.
>
> What I've tried to do is split up my list of addresses into different
> queue groups, and specify a number of runners for each group. I
> then added QGRP entries into the access db. I still don't see
> sendmail forking itself into multiple queue runners.
Perhaps, I've misunderstood what happens here. Is it that addresses
that timeout
simply get queued and then multiple queue runners are invoked (if
necessary) to deal
with those timeout messages that are queued? But the how is the
timeout specified
for the queue runners? I'd rather it be longer than that used for the
first pass.
Guess I'm still confused and time for more reading.
Stuart