无法使用 Mail::IMAPClient 进行排序
Unable to sort using Mail::IMAPClient
昨天我尝试使用 Mail::IMAPClient 库对来自 imap 的电子邮件进行排序,执行以下操作:
my $imap = Mail::IMAPClient->new(
#my imap settings
);
#folder selection
my @messages = $imap->sort('(REVERSE ARRIVAL) UTF-8 ALL');
但是我得到了:
4 BAD Error in IMAP command UID SORT: Invalid sort list argument
(0.000 + 0.000 secs). at /var/www/localhost/htdocs/user/mail.pl line
93.: /var/www/localhost/htdocs/user/mail.pl
我花了几个小时试图解决这个问题,直到找到答案。 (下)
首先我要指出我是从 this 问题中得到启发的,这个问题来自将所有内容都作为一个参数的错误想法。
正确答案是:
my @messages = $imap->sort('(REVERSE ARRIVAL)', 'UTF-8', 'ALL');
我应该将排序模式与字符集和字符集与搜索模式分开,因为它们是不同的参数。
现在我的代码可以工作了。
昨天我尝试使用 Mail::IMAPClient 库对来自 imap 的电子邮件进行排序,执行以下操作:
my $imap = Mail::IMAPClient->new(
#my imap settings
);
#folder selection
my @messages = $imap->sort('(REVERSE ARRIVAL) UTF-8 ALL');
但是我得到了:
4 BAD Error in IMAP command UID SORT: Invalid sort list argument (0.000 + 0.000 secs). at /var/www/localhost/htdocs/user/mail.pl line 93.: /var/www/localhost/htdocs/user/mail.pl
我花了几个小时试图解决这个问题,直到找到答案。 (下)
首先我要指出我是从 this 问题中得到启发的,这个问题来自将所有内容都作为一个参数的错误想法。
正确答案是:
my @messages = $imap->sort('(REVERSE ARRIVAL)', 'UTF-8', 'ALL');
我应该将排序模式与字符集和字符集与搜索模式分开,因为它们是不同的参数。 现在我的代码可以工作了。