domain.tld PREPEND my-header: foobar
用静态地图?
docs将其定义为示例:“inline:{key = value,{key =带有空格或逗号的文本}}”.
几种替换它的方法似乎不起作用,甚至不清楚,哈希:db真正有多少字段.域是唯一的密钥,其余是字符串?是否应该为与域关联的三个字段提供一些列表语法?那么具有多个值的键(多个行以哈希中的相同域开头:db)?
解决方法
how many fields the hash: db really has. is the domain the only key and the rest a string?
是.只需一键和一个值.该值具有多种格式,可以满足不同的目的,例如别名,传输,访问等.请参阅postfix man pages,尤其是表驱动机制部分.
Should there be some list-Syntax for the three fields associated to the domain?
一些表支持类似列表的字符串.例如,别名表允许您定义多个别名目标.
root root@gmail.com root@yahoo.com
在这里,值由空格或逗号分隔.
And what about a key with multiple values (multiple lines starting with the same domain in the hash: db)?
当表有重复键时,后缀将选择第一个匹配的值.在哈希表的情况下,选择了顶部条目,忽略了其他值.
现在,我将尝试回答有关静态和/或内联映射的问题.请注意,这两种表格类型彼此不同.
内联映射将在postfix 3.0版中引入.目前没有支持该表类型的postfix稳定版本.您可以在postfix 3.0 RC1 release notes中阅读它.
假设你想用这样的条目转换哈希表
example.com DEFER come back later please example.net REJECT example.org PREPEND X-Foo: Bar
那么等效的内联映射就是
inline:{{example.com=DEFER come back later please},example.net=REJECT,{example.org=PREPEND X-Foo: Bar}}
对于没有空格的文本,我们可以使用key = value语法.有空格,你需要支架围绕它.
现在,静态地图是不同的.该表就像通配符表. Postfix可以查找任何键,但答案是静态值.对于版本低3.0的postfix,静态表doesn’t support value string with space.对于postfix 3.0及更高版本,您可以用括号包装该值以在其中添加空格.例如
static:REJECT
要么
static:{REJECT get out from my postfix}