PCRE (Perl Compatible Regular Expressions) map support ====================================================== The optional "pcre" map type allows you to specify regular expressions with the PERL style notation such as \s for space and \S for non-space. One possible use is to add a restriction to main.cf: smtpd_recipient_restrictions = ... pcre:/etc/postfix/smtprecipient ... The regular expressions are read from the file specified - sample regexp patterns are shown in the Postfix pcre_table(5) manual page. Building Postfix with PCRE support ================================== In the future, Postfix will have a plug-in interface for adding map types. Until then you need to compile PCRE support into Postfix. You need the PCRE library (Perl Compatible Regular Expressions), which can be obtained from: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ Postfix was tested with PCRE versions 2.8 and 3.7. In order to build Postfix with PCRE support you need to add -DHAS_PCRE and a -I for the PCRE include file to CCARGS, and add the path to the PCRE library to AUXLIBS, for example: make -f Makefile.init makefiles \ "CCARGS=-DHAS_PCRE -I/usr/local/include" \ "AUXLIBS=-L/usr/local/lib -lpcre" NOTE: pcre versions prior to 2.06 cannot be used. Things to know ============== For the sake of robustness, Postfix disables the matching of partial addresses (breaking down user@domain into user@, domain, user, @domain) that is normally done with Postfix access control tables, canonical maps and virtual maps. An additional restriction is that regular expression tables cannot be used for local alias database lookups. That would be a security exposure anyway.