例如,什么是replace后缀散列数据库的语法
domain.tld PREPEND my-header: foobar
用静态地图?
docs将其定义为Example: "inline:{ key=value, { key = text with whitespace or comma }}" 。
有几种方法来取代它似乎不工作,甚至不清楚,有多less领域的哈希:DB真的有。 域是唯一的关键,其余的一个string? 是否应该有一些关联到域的列表语法? 那么一个具有多个值的键(在hash:db中以同一个域开始的多行)呢?
首先,我将尝试清除一些基于官方文档的 postfix查询表的混淆。 总之,后缀表必须由键值对组成。 这两个键值都有string数据types。
数据库真的有多less个字段。 域是唯一的关键,其余的一个string?
是。 只有一个键和一个值。 该值有几种格式可以解决不同的目的,如别名,传输,访问等。请参阅后缀手册页 ,特别是在表驱动机制部分。
是否应该有一些关联到域的列表语法?
有些表支持列表式的string。 例如,别名表允许您定义多个别名目标。
root [email protected] [email protected]
在这里,值是用空格或逗号分隔的。
那么一个具有多个值的键(在hash:db中以同一个域开始的多行)呢?
当表有重复的键时,后缀会select第一个匹配的值。 在散列表的情况下,顶部条目被选中,其他值被忽略。
现在,我将尝试回答有关静态和/或内嵌地图的问题。 请注意,这两种表格types是不同的。
内联地图将在后缀版本3.0中引入。 目前没有支持该表types的postfix稳定版本。 你可以在Postfix 3.0 RC1 发行说明中看到它。
假设你想用这样的条目转换哈希表
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的后缀,静态表不支持带空格的值string 。 对于后缀3.0和更高版本,您可以用括号来包装该值以在其中添加空格。 例如
static:REJECT
要么
static:{REJECT get out from my postfix}