Thanks a million , Charlie .
Actually , the problem i am trying to solve is :
our properties all have the requirement to send mail to our customers,
some of them is about register-confirmation , and some are about user
notification , while others may be about products promotion ,etc.
Obviously , each kind of them have different priorities , i.e ,the
reg-confirm ones should be delivered ASAP, and shouldn't be affected by
others.
So i want to design a Mail Proxy to dispatch the messages to different
priority pools, by identifying the X-PropertyID header . each priority
pools are referred to a fixed set of smtp servers to send mail to
destination, so that every X-PropertyID 's mail can't be affected each
other , for they are actually passed to a different queue to send .
and the arch in my mind is like :
-------+--------+--+-------+--+----+----+---------
........ | Client1| |Client2| | Client3 | ........
+--------+ +-------+ +---------+
\ | /
\ | /
\ | /
+--------------+
| Proxy |
+------+-------+
|
|
-------+-----+---+----+--+----+----+---------
........ | postfix| |postfix | | postfix | ........
+--------+ +--------+ +---------+
and i will use QPsmtpd as the Proxy , to match the X-PropertyID header
and dispatch the message to its pool . This is my problem . now the
matching header is no problem , but how to efficiently dispatch the
messages to a set of smtp servers is confused me .
Thanks for any help.
--Junyi
Charlie Brady Wrote:
On Fri, 24 Jul 2009, Junyi-HUANG wrote:
I have a requirement that base on the X-PropertyID header info to route
the messages to a set of smtp servers in Round Robin mode .
For example , if the conf file is like :
PID SMTP servers
pid_a ----> smtp1:10025, smtp2:10026, smtp3:10027
pid_b -----> smtp4:10025, smtp5:10026, smtp6:10027
the first message with pid_a header should be routed to smtp1:10025, and
the second one with pid_a header should be routed to smtp2:10026 .., in
a Round Robin mode to repeat those rule.
That seems to be a very artificial "requirement". What problem are you
actually trying to solve?
My feeling is that you should let DNS do your RR load balancing, and
recipient rewriting control your pid_a/pid_b destination group divisions.