0

这是一个关于我遇到的问题的自动回答问题,但我没有找到答案,问题如下:

use Mail::IMAPClient;
$imap = new Mail::IMAPClient(
   # My connection data.
};
#Folder selection and stuff like that.
my $hash = $imap->fetch_hash('BODY.PEEK[HEADER.FIELDS (SUBJECT)]');

现在我在我选择的文件夹中有一个带有电子邮件主题的哈希,我曾期望它会返回一封邮件的主题:

print $hash->{mymessage}->{'BODY.PEEK[HEADER.FIELDS (SUBJECT)]'};

相反,我得到了:在 /var/www/localhost/htdocs/user/mail.pl 第 76 行的连接 (.) 或字符串中使用未初始化的值。

请原谅我糟糕的英语。

4

1 回答 1

2

我所做的是看到keys $hash->{mymessage} 返回的是什么BODY[HEADER.FIELDS (SUBJECT)],所以我想出了 Mail::IMAPClient,在函数 fetch_hash() 中创建哈希键时,从对该函数的任何调用中省略 PEEK。我应该做的是:

print $hash->{mymessage}->{'BODY[HEADER.FIELDS (SUBJECT)]'};`
于 2018-12-28T20:19:43.807 回答