在perl脚本中获取exim变量

时间:2017-05-29 15:16:46

标签: perl exim exim4

我的问题在于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中的代码来获取子程序的结果?

1 个答案:

答案 0 :(得分: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将被设置为在上面的情况下子返回的内容,它将是primary_hostname的值。这似乎也不适用于primary_hostname。