对于多个用户,是否可以在 ASP.NET 3.5 + 中的Lotus Notes / Domino 服务器上检查新邮件。用户使用Windows Domain帐户登录到ASPx应用程序。
答案 0 :(得分: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密码。
但也许您可以提供更多信息,以便我们提供更好的建议。
答案 1 :(得分:0)
嗯,是的,你可以,但这不是一个直接的网络服务电话。我不知道有任何转弯键配置可以实现这一点。因此,您需要“推出自己的”服务。如果是这样,那么您将对“未读标记”或“未读电子邮件”感兴趣。这是Lotus Notes的一项独特功能,不会在Java或.Net中作为服务公开。但是您可以使用Lotus Notes对象API中的“GetAllUnreadEntries”方法来解决它。
使用此方法,您可以在不太复杂的情况下以编程方式模拟它。你有可能试试这个:
您是否可以在ASP.Net应用程序中实现遍历Domino邮件帐户收件箱时设置的“最后检查”日期/时间值?
现在,在循环收件箱中,获取每个文档的创建日期。
对于Lotus Notes数据库中的电子邮件,这是电子邮件登录帐户的日期。因此,它应该是确定电子邮件到达日期的一种相当可靠的方法。
创建的日期属性在NotesDocument对象下面为“created”。这应该返回您可以使用的日期/时间值。因此,任何比“最后检查”值更新的文档都是新邮件。
如果您有一个特别大的收件箱要循环,您可以获取收件箱对象(可以像视图一样对待),并在NotesView对象上使用“GetAllUnreadEntries”方法。
示例代码的链接位于上面的链接中。