Perl找不到MAIL :: IMAPClient

时间:2014-09-18 13:23:33

标签: perl

我试图执行一个简单的登录gmail usign perl 我在C:\ Dwimperl中安装了perl 所以当我尝试这个示例代码时:

#!C:\Dwimperl\perl\site\bin

use strict;
use warnings;
use Mail::IMAPClient;

# Connect to IMAP server
my $client = Mail::IMAPClient->new(
    Server   => 'imap.gmail.com',
    User     => 'email@gmail.com',
    Password => 'password',
    Port     => 993,
    Ssl      => 1,
) or die "Cannot connect through IMAPClient: $!";

# List folders on remote server (see if all is ok)
if ( $client->IsAuthenticated() ) {
    print "Folders:\n";
    print "- ", $_, "\n" for @{ $client->folders() };
}

# Say so long
$client->logout();

我有以下错误:

Can't locate Mail/IMAPClient.pm in @INC <@INC contains: c:/Dwimperl/perl/site/lib/MSWin32-x86-multi-thread c:/dwimperl/perl/site/lib c:/Dwimperl/perl/vendor/lib c:/Dwimperl/perl/lib .> at logingmail.pl line4

我将文件文件IMAPClient.pm复制到错误消息中提到的所有文件夹中。 我仍然有同样的信息。 请帮忙^谢谢

2 个答案:

答案 0 :(得分:1)

  

我在文件中提到的所有文件夹中复制了文件IMAPClient.pm   错误信息。我仍然有同样的信息。

在您的工作目录中,您应该创建“Mail”目录并将文件IMAPClient.pm放入其中。

答案 1 :(得分:0)

  

无法找到Mail / IMAPClient.pm

您使用ActivePerl还是Strawberry Perl?您必须将所有模块安装到Perl系统中才能使用它们。从命令行尝试:

C> cpan install Mail::IMAPClient

Active Perl使用Perl Package Manager下载软件包。您可能会发现它更容易使用。尝试安装Mail-IMAPClient。

@INC通常包含当前目录,因此您可以将包放在那里,但您必须创建适当的目录结构。 Mail::IMAPClient包意味着您必须在当前目录中有一个名为Mail/IMAPClient.pm的文件。也就是说,文件IMAPClient.pm必须位于当前目录下的Mail目录中。