How do I route all emails directed to user-*@example.com (i.e. user-1234@example.com) to a pipe command in Postfix? The idea is to create craigslist-style anonymization by assigning dynamic email aliases to each user. I can't seem to find relevant information in the documentation, however.
Asked
Active
Viewed 1.2k times
2 Answers
12
Okay. And now a different approach.
Put a new transport in master.cf:
coolscript unix - n n - 50 pipe
flags=R user=vmail argv=/path/to/script -o SENDER=${sender} -m USER=${user} EXTENSION=${extension}
you can extend/modify the parameters as you like.
Then (to eliminate pcre) you can use regexp to do the "catch-thing" in main.cf:
transport_maps = regexp:/etc/postfix/redirect.regexp
And in /etc/postfix/redirect.regexp you put:
/^user-.*@example\.com/ coolscript:
Reload Postfix with postfix reload.
mailq
- 17,251
6
First check if you have pcre compiled into Posfix with postconf -m. Then you can set in main.cf:
virtual_alias_maps = pcre:/etc/postfix/redirect.pcre
and in /etc/postfix/redirect.pcre you put:
/^user-.*@example\.com$/ somelocalalias
and in /etc/aliases you add
somelocalalias: |"/path/to/script"
Don't forget to postalias /etc/aliases and afterwards reload Postfix with postfix reload.
mailq
- 17,251