2011-11-16 98 views

回答

2

鉴于Domino服务器也在Windows上,并且它们已经为SSO激活了SPNEGO,您可以使用多种选择,具体取决于“检查新邮件”的含义。

如果您想将收件箱包含在您的ASP.Net应用程序中,例如:作为iframe,您可以使用iNotes portal mode来完成此操作。

如果您使用的是Domino 8.5.3,则可以使用REST services of the new extension library通过几个REST调用和Json访问收件箱内容。查看更多信息的链接。

如果您想要访问ASP.Net应用程序后端的“新邮件”,您很可能不幸运,因为关于“新/未读”邮件的信息是按用户存储的,您需要用户访问该信息的ID-文件/密码或http密码。

但也许你可以提供更多的信息,所以我们可以给出更好的建议。

+0

有问题的ASPx应用程序是一个Intranet站点,在一个角落将有一个链接到Domino Webmail的文本[您有{n}新邮件]。我能看到的最大问题是,不会有任何SSO。 –

+0

没有SSO,没有办法获得信息,用户拥有多少“新”邮件。 – leyrer

0

嗯,是的,你可以,但它不是一个直接的web服务调用。我不知道有任何交钥匙配置可以实现这一点。所以,你需要“推出自己的”服务。如果是这样,那么你会对“未读邮件”或“未读邮件”感兴趣。这是Lotus Notes的一项独特功能,并未在Java或.Net中公开为服务。但是,您可以通过在Lotus Notes对象API中使用“GetAllUnreadEntries”方法来避开它。

使用此方法,您可以以编程方式模拟它,而无需太复杂。是否可以尝试这种方式:

您是否可以在ASP.Net应用程序中实现遍历Domino邮件帐户收件箱时设置的“上次检查”日期/时间值?

现在,当循环收件箱时,获取每个文档的创建日期。

对于Lotus Notes数据库中的电子邮件,这是电子邮件打到该帐户的日期。所以它应该是确定电子邮件抵达日期的相当可靠的手段。

创建的日期属性位于NotesDocument对象下,名称为“created”。这应该返回一个可以使用的日期/时间值。因此任何比“上次检查”值更新的文档都是新邮件。

如果您有一个特别大的收件箱循环访问,您可以获取收件箱对象(可以像视图一样处理),也可以在NotesView对象上使用“GetAllUnreadEntries”方法。

指向示例代码的链接位于上面的链接中。