无法使用Mail :: IMAPClient进行排序

时间:2018-12-31 19:01:08

标签: perl imapclient

昨天,我试图使用Mail :: IMAPClient库对来自imap的电子邮件进行排序:

my $imap = Mail::IMAPClient->new(
#my imap settings
);
#folder selection
my @messages = $imap->sort('(REVERSE ARRIVAL) UTF-8 ALL');

但是我得到了

  

4 IMAP命令UID SORT中的错误错误:无效的排序列表参数   (0.000 + 0.000秒)。在/var/www/localhost/htdocs/user/mail.pl行   93 .: /var/www/localhost/htdocs/user/mail.pl

我花了几个小时试图解决此问题,直到找到答案。 (如下)

1 个答案:

答案 0 :(得分:0)

首先,我要指出的是,我受到this问题的启发,提出了错误的想法,那就是将所有内容都视为一个单独的论点。

正确的答案是:

my @messages = $imap->sort('(REVERSE ARRIVAL)', 'UTF-8', 'ALL');

我应该将排序模式与字符集分开,将字符集与搜索模式分开,因为它们是不同的参数。 现在我的代码正在运行。