如何使用Perl通过Lotus Notes API打开收件箱?

时间:2010-09-20 17:55:25

标签: perl lotus-notes

我能够使用Perl打开Lotus notes api,没有错误,我也可以获得包含Inbox的视图列表,但是当我尝试从该视图中读取消息时,它显示为空?我可能做错了什么? (实际上,这些代码之前的工作似乎可能会在注释方面发生变化)

以下代码结果: View的名称是:($ Inbox)的计数为:0 等

CODE:

use Win32::OLE;
my $Notes = Win32::OLE->new('Notes.NotesSession')
or die "Cannot start Lotus Notes Session object.\n";
my $database = $Notes->GetDatabase("",'mail\VIMM.nsf');
$database->OpenMail;
my $array_ref = $database->{Views};
foreach my $view (@$array_ref) {
    my $name = $view->{Name};
    print "NAME of View is: $name ";
    $view = $database->GetView($name);
    print "has count of: ", $view->{entryCount}, "\n";
}

4 个答案:

答案 0 :(得分:1)

我相信拼写为“EntryCount”?

另外,我建议“使用严格”和“使用警告”。

答案 1 :(得分:1)

根据runrig的评论,EntryCount是一个属性,所以我相信你需要: $视图 - > {entryCount}

答案 2 :(得分:1)

尝试检查Win32 :: OLE :: LastError()消息。您可以使用以下子语言明确地执行此操作:

sub w32_ok {
    if (my $error = Win32::OLE::LastError()) {
        print "Win32::OLE Error!  Got: $error";
    }
}

或者,它有呱呱叫错误,如:

Win32::OLE->Option( Warn => 3 ); # will now croak on errors.

访问您想要的数据时可能会遇到问题。

答案 3 :(得分:1)

邮箱是否对所有用户开放?您可以尝试设置-Default-访问管理器并授予它所有可用角色,只是为了确保不会出现安全问题,导致无法看到文档。