我试图从服务器中获取未读电子邮件,并在获取后将其标记为(读取(。我正在使用Perl脚本和软件包net :: Imap :: Simple。我正在为办公室工作编写此脚本。
以下是一些代码:
use strict;
use warnings;
use Net::IMAP::Simple;
use Email::Simple;
use HTTP::Date;
#some code....
# Create the object
my $server = Net::IMAP::Simple->new($imap_server) or die "Can't connect to server: $imap_server ";
# Log on
my $login = $server->login($imap_user,$imap_passwd) or die "Login failed (bad username or password)";
#some code.....
# set the message as seen
$server->see($i);
# i also used $server->add_flags($i,'Seen'); but it throws same error.
具有讽刺意味的是,该代码在我的Gmail帐户上正常工作,我将其用于测试。但是当我在办公室测试时会引发错误;
无法找到对象方法"请参阅"通过软件包" net :: imap :: Simple"
我不知道这里是什么问题。
net :: imap ::简单版本1.1899_05。
中添加了方法see
和unsee
。 > 1.1899_05: Tue Jun 16 06:42:16 EDT 2009
> - I started working on ticket 45953,
> - created sub_flags() and add_flags()
> - taught delete() to use add_flags() -- adds Deleted
> - providing see() and unsee() for ticket 45953
> - I started building tests for the flag manipulation stuff and
> put reselect stuff ... noticed a possible bug in
> Net::IMAP::Server
您的生产系统可能有一个较旧的版本。更新它,并在您的makefile.pl或cpanfile或您用于跟踪依赖项的任何内容中包含最小版本。