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.




Reply via email to