我正在使用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中有什么变化,所以它停止工作了?
答案 0 :(得分:1)
@是表示perl数组的sigil,双引号将数组插入字符串。
你需要在双引号(\ @)内反斜杠或使用单引号来避免插值。
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} = '...'
}