0

我的问题是 exim.conf 我尝试使用 perl 设置主机名

在 exim.conf 中

host = "${perl{func}{arg}}"

在 exim.pl.local 中,它以下列方式从 exim.conf 访问 Exim 变量

my $phost   = Exim::expand_string('$primary_hostname');

但是,该值没有得到评估,“$phost”的值如下所示。

print $phost   //outputs ${perl{func}{arg}}.

有什么办法可以更改 exim.conf 或 exim.pl.local 中的代码以获得子程序的结果?

4

1 回答 1

0

在 /etc/exam.pl.local

sub getprimaryhost {
   my $phost   = Exim::expand_string('$primary_hostname');
   return $phost;
}

然后在 /etc/exim.conf

smtp_active_hostname = ${perl{'getprimaryhost'}}

smtp_active_hostname 将设置为 sub 在上述情况下返回的值,它将是 primary_hostname 的值。此外,这似乎不适用于 primary_hostname。

于 2017-06-01T21:11:56.763 回答