我在 Exim 中设置了传输,我想为某些用户添加一个特殊标头,为其余用户添加一个不同的标头值。我尝试创建添加此标头的正确语法,但遇到了一些问题。
我当前拥有的代码是:
headers_add = X-SenderTest: {${lookup{$sender_address}lsearch{/etc/addresses}{header1}{header2}}}
因此,如果 $sender_address 位于文件 /etc/addresses 中(仅仅是新行电子邮件地址的列表),我想要以下标题:
X-SenderTest: header1
对于所有其他我想要的 $sender_address:
X-SenderTest: header2
然而我实际得到的是:
X-SenderTest: {header1} or
X-SenderTest: {header2}
我尝试了多种组合来删除 { 括号,但没有任何效果,出现了各种语法错误。
例如以下内容:
X-SenderTest: {${lookup{$sender_address}lsearch{/etc/probanalogin}Prob no-Prob}}
给出以下语法错误:
failed to expand headers_add or headers_remove: missing or misplaced { or }
任何帮助将不胜感激。
答案1
删除外括号。您的代码行应如下所示:
headers_add = X-SenderTest: ${lookup{$sender_address}lsearch{/etc/addresses}{header1}{header2}}
额外的括号被逐字地添加到标题中。