1

我使用 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'
        );

当我在此函数中添加回复以获取退回电子邮件时,我收到以下错误。

在使用“strict subs”时不允许使用裸词“Reply”

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

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

4

2 回答 2

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'
);

解释:

男人佩洛普

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

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

于 2020-12-14T08:45:34.990 回答
4
        Reply-To    => $replyto,

它不应该'Reply-To'(引用)Reply-To——除非你想ToReply.

于 2020-12-14T08:44:06.733 回答