> > OK, thank you very much for the pointer to smtp_bind_address. That's what > > I >
> > need, but I'm stumbling at the transport map. I already have outgoing > > mail > > segregated how I want it when it exits my content filtering (ready to be >sent > > > out). So ideally, the content filter (actually the specialized smtpd >process > > > that accepts mail from the content filter) could hand off to a specific > > smtp > > > process that has the needed smtp_bind_address. > > The smtpd process does not choose the smtp process. Fair enough. > This quote from RELEASE_NOTES-2.7 describes two solutions that may > be of interest: see Feature 20100117 and Feature 20091209 below. Yes, especially feature 20100117. Thank you very much for your work on those new features. Unfortunately, I'm stuck with version 2.3.3 (bah! yum!), so I've been trying to find other ways to accomplish this. I thought I might be able to override transport_maps (or default_transport?) in a smtpd process that gets mail back from the content filter, but I have been educated that this is not possible (see thread "Multiple transport maps in master.cf?"). Anyone have any other tricks up their sleeve that could address this (beside multiple instances)? It looks like if I can make the smtpd process add some kind of special header (is this possible?), then maybe I can do what was done here: http://marc.info/?l=postfix-users&m=113351892721907&w=2 Is that work-able? - smtpd add a custom header - define a header check that detects the special header and filters those messages off to a special smtp process (and hopefully remove the special header, but OK if not) > Feature 20091209 triggers only on the envelope sender address, > while Feature 20100117 can trigger on any message property including > a string in the header or body. > > Both require that mail is split into classes, and all mail in class > X is sent out from an SMTP client IP address that is reserved for > class X. For each class you configure master.cf one Postfix SMTP > client for each SMTP source IP address, where each client has its > own "-o myhostname" and "-o smtp_bind_address" settings. > > /etc/postfix/master.cf: > smtp1 unix - - n - - smtp > -o smtp_bind_address=192.168.1.1 -o myhostname=hostname1 > smtp2 unix - - n - - smtp > -o smtp_bind_address=192.168.1.2 -o myhostname=hostname2 > > With Feature 20100117 you'd specify actions of "FILTER smtp1:" or > "FILTER smtp2:" in an smtpd access(5) table, header_checks(5) or > body_checks(5). For example, in an access table: > > /etc/postfix/main.cf: > smtpd_sender_restrictions = > check_sender_accesss hash:/etc/postfix/sender_access > > /etc/postfix/sender_access: > sender1 FILTER smtp1: > sender2 FILTER smtp2: > > With Feature 20091209 you'd have: > > /etc/postfix/main.cf: > sender_dependent_default_transport_maps = > hash:/etc/postfix/sender_transport > > /etc/postfix/sender_transport: > sender1 smtp1 > sender2 smtp2 > > Wietse > > Major changes - sender reputation > --------------------------------- > > [Feature 20100117] The FILTER action in access maps or header/body_checks > now supports sender reputation schemes that dynamically choose the > SMTP source IP address. Typically, mail is split into classes, and > all mail in class X is sent out from an SMTP client IP address that > is reserved for class X. > > This is implemented by specifying FILTER actions with empty next-hop > destinations in access maps or header/body_checks, and by configuring > in master.cf one Postfix SMTP client for each SMTP source IP address, > where each client has its own "-o myhostname" and "-o smtp_bind_address" > settings. > > [Feature 20091209] sender_dependent_default_transport_maps, a > per-sender override for default_transport. The original motivation > is to use different output channels (with different source IP > addresses) for different sender addresses, in order to keep their > IP-based reputations separate from each other. > > The result value syntax is that of default_transport, not transport_maps. > Thus, sender_dependent_default_transport_maps does not support the > special transport_maps result value syntax for null transport, null > nexthop, or null email address. >