on 18-Mar-2015 15:35
Problem this snippet solves:
Use the default Stream profile and filter out mail to unapproved domains, and send to a bucket, the code is basic but the regex is very useful. 'mydomain' = the approved domain, everything else is matched.
Code :
when CLIENT_ACCEPTED { log local0. "client accepted" STREAM::expression {=RCPT TO:<[A-Za-z0-9._%+-]+@(?!(myOKDomain|myOtherOKDomain))[A-Za-z0-9.-]+\.[A-Za-z]{2,4}>=RCPT TO:=} STREAM::enable } when STREAM_MATCHED { log local0. "Stream filter matched: [STREAM::match]" }