juan smitt: > Hi, > > > We got a request to match the envelope sender with a certain mail > header (i.e. X-Something) on our relay servers for every outbound > mails and reject the email if the sender and the value of this header > don't match. > > It's also possible for a sender to have more than one valid X-Something value. > > Something like this: > * senderdomain1.example is only valid with 'v1', 'v66', 'v99' > X-Something header values > * senderdomain2.example is only valid with 'v5' > * senderdomain3.example is only valid with 'v11' and 'v546' > > etc, etc > > Is this possible with postfix?
It's not built-in, but should be possible with smtpd_milters. For example, milter-regex allows you to define rules like: reject "X-Something header is not valid for senderdomain1.example" envfrom /@senderdomain1\.example$/ and not (header /^X-Something/ /^v1$/ or header /^X-Something/ /^v66$/ or header /^X-Something/ /^v99$/) This is not something that should be maintained by hand. Instead, write a script that generates such rules from an easier to maintain table. Wietse