On Sun, Feb 02, 2014 at 04:34:53PM -0800, Ray wrote: > In this thread someone mentions that the regexp is recursive but I can't > find this in the online documentation.
No, virtual alias rewriting is recursive, regardless of the underlying map type. http://www.postfix.org/ADDRESS_REWRITING_README.html#virtual Addresses found in virtual alias maps are subjected to another iteration of virtual aliasing, but are not subjected to canonical mapping, in order to avoid loops. http://www.postfix.org/virtual.5.html The optional virtual(5) alias table rewrites recipient addresses for all local, all virtual, and all remote mail destinations. This is unlike the aliases(5) table which is used only for local(8) delivery. Virtual aliasing is recursive, and is implemented by the Postfix cleanup(8) daemon before mail is queued. > The online documentation actually states that as soon as a match is found > the search terminates with the result. That's the wrong layer, regular expression tables indeed do that, but virtual expansion takes that result and processes it recursively. > This is consistent with the postmap -q key statement. > When I run the postmap -q <key> regexp:valias it get exactly the results I > am looking for. However when running through postfix it doesn't work. Again wrong layer. Table lookup is not virtual expansion which performs multiple table lookups. -- Viktor.