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.