0

我正在使用 OTRS 3.2,我想To根据动态字段之一自动将电子邮件地址设置为一个值。这在 3.1 中使用 AgentTicketForward 中的以下代码运行良好

if ($Data{DynamicField_Test} eq 'ABC') {
        $Data{To}="abc\@example.com";
} elsif ($Data{DynamicField_Test} eq 'XYZ') {
      $Data{To}="xyz\@example.com";
}

升级到 OTRS 3.2 后,它停止工作。它不仅不填写电子邮件地址,而且如果手动填写“收件人”字段,它也不会发送任何电子邮件。

有谁知道 3.2 中发生了什么变化,所以它停止工作了?

4

1 回答 1

1

@ 是表示 perl 数组的符号,双引号将数组插入字符串。

您需要在双引号 (\@) 内使用反斜杠或使用单引号来避免插值。

if ($Data{DynamicField_Test} eq 'ABC') {
        $Data{To} = 'abc@example.com';
}
elsif ($Data{DynamicField_Test} eq 'XYZ') {
      $Data{To} = 'xyz@example.com';
}
# default for $Data{To}
else { 
      $Data{To} = '...' 
}
于 2013-05-09T07:35:05.943 回答