On 6/27/2016 3:39 AM, Zalezny Niezalezny wrote: > Hi, > > using header_checks configuration we are dropping all outgoing > E-mails except some of them. > > > # discard all mails not going to cortalconsors.(de|fr) > if /^to:/ > !/^to:<?.*@(extern\.)?(domain)\.(com)>?$/ DISCARD discarded > endif > > Following rules dropping all outgoing e-mails with recipeint domains > different than > > extern.domain.com <http://extern.domain.com> > domain.com <http://domain.com> > > When You sending an E-mail to: > > To:<[email protected] <mailto:[email protected]>> > > Postfix dropping that E-mail. > > > > But when You will send an e-mail to two recipients > > To:<[email protected] > <mailto:[email protected]>>,<[email protected] > <mailto:[email protected]>> > > system will deliver both. > > > > > Why system not dropping E-mail addressed to > <[email protected] <mailto:[email protected]>> > ? Its clear described in the rule, drop all except... > > > I will appreciate for any help. > > > > > With kind regards > > zalezny > >
The failure you're seeing when there are two addresses in the header is because your expression only matches when there is a single address. But header_checks is the wrong tool for this job; the To: header does not control where mail is delivered. A more robust solution is to limit where postfix can deliver mail. # main.cf default_transport = error:remote delivery disabled transport_maps = hash:/etc/postfix/transport # /etc/postfix/transport domain.com smtp: extern.domain.com smtp: http://www.postfix.org/transport.5.html -- Noel Jones
