Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Perl通过LotusNotesAPI打开收件箱?_Perl_Lotus Notes - Fatal编程技术网

如何使用Perl通过LotusNotesAPI打开收件箱?

如何使用Perl通过LotusNotesAPI打开收件箱?,perl,lotus-notes,Perl,Lotus Notes,我能够使用Perl打开LotusNotesAPI,没有错误,我还可以获得包含收件箱的视图列表,但是当我尝试从该视图读取消息时,它会显示为空吗?我可能做错了什么?(事实上,notes方面似乎有一些变化,因为这段代码以前是可以工作的) 代码结果如下: 视图名称为:($Inbox)的计数为:0 等等 代码: 我相信它的拼写是“EntryCount” 另外,我建议您使用“使用严格”和“使用警告”。根据runrig的评论,EntryCount是一个属性,因此我相信您需要: $view->{entryCou

我能够使用Perl打开LotusNotesAPI,没有错误,我还可以获得包含收件箱的视图列表,但是当我尝试从该视图读取消息时,它会显示为空吗?我可能做错了什么?(事实上,notes方面似乎有一些变化,因为这段代码以前是可以工作的)

代码结果如下: 视图名称为:($Inbox)的计数为:0 等等

代码:

我相信它的拼写是“EntryCount”


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

根据runrig的评论,EntryCount是一个属性,因此我相信您需要:
$view->{entryCount}

尝试检查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.

访问所需数据时可能出现问题。

邮箱是否对所有用户开放?您可以尝试将-Default-access设置为Manager,并授予它所有可用的角色,以确保这不是阻止查看文档的安全问题。

它们的entryCount()是否都为零?我已经有一段时间没有使用Lotus Notes了,但您是否尝试过使用“->{entryCount}”(entryCount听起来更像是一个属性而不是一个方法)?我尝试过更改,但得到了相同的结果,没有更改,收件箱仍然为0,只有少数视图的值高于0,大约15个视图中只有2个视图,例如:视图名称为:($FolderAllInfo)计数为:12您能对照notes客户端中显示的内容检查计数吗?也许您的计数是有效的。似乎有其他错误,所以即使数据库打开,我还是在OpenMail之后添加了以下内容,并获得了0的计数感谢,有趣的是,我获得了少数文件夹的0以上数字,现在将进行测试。因此,这似乎没有什么区别,请参阅上面的评论,还有其他想法吗?谢谢提示,我添加了这一点,它抱怨说“$database->OpenMail;”说DB已经打开了,所以我删除了这一行,没有其他更改,但似乎没有任何其他错误。我如何做到这一点,我尝试访问notes客户端,在安全性中,我选中了所有复选框“无签名”和“默认用户”,是否还有其他内容?我如何判断这是否是安全问题?您需要更改ACL。转到文件>数据库>访问控制。授予-Default-user管理器对数据库的访问权,并选择对话框右下角的所有角色。这将排除安全问题。顺便说一句,你知道你是谁通过这个脚本登录吗?就是这样,这可能是问题所在。我没有意识到,由于我可以读取视图,我无法读取其中的实际条目,看起来我没有足够的权限更改默认角色或访问权限,我如何更改它,以便在我的代码中以我自己而不是默认用户的身份登录?我不知道Perl,但我知道该方法是“初始化”,您可以传递密码。代码将使用当前计算机上Notes.ini中指定的Notes ID,特别是指定为KeyFileName的内容。所以我认为代码应该是$notes->Initialize(“yourspassword”),也许安全性根本不是问题。我添加了这一行,在打开NSF文件之前和之后都尝试了它,但不幸的是,它没有帮助。结果仍然相同,entrycounts中的大多数0都会计数。有趣的是,notes API示例似乎也一样,它们通常不会初始化这些步骤。不管怎样,还有其他想法吗?问题出在哪里?
Win32::OLE->Option( Warn => 3 ); # will now croak on errors.