回复 MIME Lite 错误,因为使用了严格的 [=>(胖逗号)运算符]

Git*_*nth 1 email perl mime

我使用 MIME::Lite 从我的 Perl 脚本发送电子邮件。我使用了严格的;在我的标题中,因为这是我们所有脚本中的标准用法。

        my $msg = MIME::Lite->new(
            From => $from,
            To   => $to_str,
            Cc      => $cc_str,
            Reply-To    => $replyto,
            Subject => $tf_subject,
            Type    => 'multipart/mixed'
        );
Run Code Online (Sandbox Code Playgroud)

当我在此函数中添加 Reply-To 以获取退回电子邮件时,出现以下错误。

不允许使用裸词“回复”,而“严格的订阅者”正在使用

但是我在 MIME::Lite 的文档中看到 Reply-To 是获得退回电子邮件的唯一方法。

有没有办法在同一个脚本中同时容纳严格和回复?

AnF*_*nFi 5

加上Reply-To引号。做了'Reply-To'

my $msg = MIME::Lite->new(
  From => $from,
  To   => $to_str,
  Cc      => $cc_str,
  'Reply-To'    => $replyto,
  Subject => $tf_subject,
  Type    => 'multipart/mixed'
);
Run Code Online (Sandbox Code Playgroud)

解释:

人祸

“=>”运算符(有时发音为“fatcomma”)是逗号的同义词,除了它会导致其左侧的单词以字母或下划线开头并且仅由字母组成时被解释为字符串,数字和下划线。这包括可能被解释为运算符、常量、单个数字 v 字符串或函数调用的操作数。 如果对此行为有疑问,可以显式引用左操作数

否则,根据上下文,“=>”运算符的行为与逗号运算符或列表参数分隔符完全相同。