【问题标题】:ASP.NET Check new mail on Lotus Notes/Domino serverASP.NET 检查 Lotus Notes/Domino 服务器上的新邮件
【发布时间】:2011-11-16 08:37:58
【问题描述】:

有没有办法在 ASP.NET 3.5+ 中的 Lotus Notes/Domino 服务器上为多个用户检查新邮件。用户使用 Windows 域帐户登录到 ASPx 应用程序。

【问题讨论】:

    标签: lotus-notes lotus-domino


    【解决方案1】:

    鉴于 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 密码。

    但也许您可以提供更多信息,以便我们提供更好的建议。

    【讨论】:

    • 所讨论的 ASPx 应用程序是一个 Intranet 站点,在一个角落会有一个指向 Domino 网络邮件的链接,其中包含文本 [您有 {n} 个新邮件]。我能看到的最大问题是,不会有任何 SSO。
    • 如果没有 SSO,就无法获取信息,即用户拥有多少“新”邮件。
    【解决方案2】:

    嗯,是的,你可以,但这不是一个直接的网络服务调用。我不知道任何可以启用此功能的交钥匙配置。因此,您将需要“推出自己的”服务。如果是这样,那么您将对“未读标记”或“未读电子邮件”感兴趣。这是 Lotus Notes 独有的功能,在 Java 或 .Net 中不作为服务公开。但是您可以通过使用 Lotus Notes 对象 API 中的“GetAllUnreadEntries”方法来绕过它。

    使用此方法,您可以以编程方式模拟它,而不会太复杂。你可以试试这个:

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

    现在在遍历收件箱时,获取每个文档的创建日期。

    对于 Lotus Notes 数据库中的电子邮件,这是电子邮件到达帐户的日期。因此,它应该是确定电子邮件到达日期的一种相当可靠的方法。

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

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

    示例代码的链接在上面的链接中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-05
      • 1970-01-01
      相关资源
      最近更新 更多