On Wed, Feb 15, 2017 at 02:04:55PM +0100, Marek Kozlowski wrote: > I'm wondering if it is possible for two parameters, let's say (not > particularly those, generally): > > sender_canonical_maps = sth1, sth2, sth3 > recipient_canonical_maps = sth4, sth5, sth6 > > 1. For `sender_canonical_maps' processing all three tables sequentially
http://www.postfix.org/DATABASE_README.html pipemap (read-only) A pipeline of lookup tables. Example: "pipemap:{type1:name1, ..., typen:namen}". Each "pipemap:" query is given to the first table. Each lookup result becomes the query for the next table in the pipeline, and the last table produces the final result. When any table lookup produces no result, the pipeline produces no result. The first and last characters of the "pipemap:" table name must be "{" and "}". Within these, individual maps are separated with comma or whitespace. DO NOT fail to notice, that each of the tables MUST produce a result, a non-match in any table causes the entire pipeline to return nothing, rather than just the last matching result. There's also: unionmap (read-only) A table that sends each query to multiple lookup tables and that concatenates all found results, separated by comma. The table name syntax is the same as for pipemap tables. It would not be too difficult to add a cascade table type that returns the last matching result, but no such thing is available at present. > 2. For `recipient_canonical_maps' processing the tables until the first > matching entry is found; if found in let's say `sth5' then `sth6' will > be ignored. This is normal processing of a list of tables. -- Viktor.