[geeks] (no subject)
bigendian at mac.com
Wed Jan 9 11:17:45 CST 2002
>It might be a good idea to have the web stuff submit messages via SMTP
>rather than call /usr/sbin/sendmail (or whatever it is) directly.
This is how it works now... unfortunately the way things are coded it
presents the same issue.
> > I'm about to rewrite the queue sorting code in C (its
>> sh/awk/grep/sed now) but it still has scalability issues. Right now
>> this system only handles 40k messages a day but it needs to scale to
>> 10 or 100 times that.
>> I've been toying with the idea of building a new MTA for this express
>> purpose (QoS for email). I would have to setup a way to handle
>> queueing based on the message priority, destination domain, message
>> length and message class. I'm not too worried about security issues
>> with it as its on a production box that only talks to the world
>> through a NAT system. Any ideas on how to go about this?
>First: Sendmail is *not* what you want. Not flexible enough.
I agree... but I've tried qmail and postfix and neither have done
what I want/need, so far sendmail has done what I needed.
>I have the most exprience with Exim, so that's what I'll use in my
>1) It's trivial to delay delivery to arbitrary domains; you can specifiy
>different retry times based on the local-part, the domain, any
>combination you can specify with with a Perl compatible regular
>expression, or with a database lookup (which may be too expensive for
>your needs). However, Exim will still try to deliver the bulk messages
>as soon as it gets them...
Retry times aren't the issue... its the messages that are stacking up
in /var/spool/mqueue and it has to try each one regardless of where
its bound or what class of message it is.
>2) Pass the bulk messages to a different system that has very long
>periods between queue runs.
Similar to what we have now... only it runs on the same box. It takes
all the bulk messages out of the queue every 5 minutes.
>3) Certain domains can be held, up to the time limit specified in it's
>retry configuration. Non-bulk messages are not effected, and are
>delivered normally. During non-busy times, a simple script can take
>these domains off-hold and initiate a queue run or two.
>4) In a variation of #3, a script can parse the output of `mailq` to
>locate a message going to a held domain and "manually" initiate a queue
>run for that message.
"Fragile. Do not drop." -- Posted on a Boeing 757.
More information about the geeks