我基本上是想从我们的 Domino 服务器中获取所有员工的所有日历条目的列表。
然后,这些信息将被整理并显示在我们 Intranet 系统中 Silverlight 内的“行踪”屏幕中
我可以使用 Interop.Domino 访问我自己的邮箱/日历条目,但我想遍历服务器上的所有邮箱
这可能吗?
我基本上是想从我们的 Domino 服务器中获取所有员工的所有日历条目的列表。
然后,这些信息将被整理并显示在我们 Intranet 系统中 Silverlight 内的“行踪”屏幕中
我可以使用 Interop.Domino 访问我自己的邮箱/日历条目,但我想遍历服务器上的所有邮箱
这可能吗?
我不熟悉Interop.Domino但您可以打开服务器 Domino 目录(通常为names.nsf)并循环所有个人文档,例如在“人物”视图中。邮件数据库路径和名称可以在每个个人文档的MailFile项中找到。
更多细节以扩展 Panu 的答案......
您要做的第一件事是建立对每个邮件文件的访问权限。没有它,你将无法在这个项目中取得任何进展。如果您的代码以您自己的身份运行,您可能无权访问任何其他用户的邮件文件。您可能需要让您的系统管理员为您的代码创建一个 ID,将该 ID 添加到一个组中,并授予该组对所有用户的邮件文件的“无读取公共文档的访问权限”访问权限。注意:我建议使用此级别而不是“阅读器”,因为这会将您的代码限制为只能查看公共日历条目。您的代码将看不到用户标记为“私人”的任何条目,并且您的代码将无法阅读用户的电子邮件。这与标准 Notes/Domino 安全实践一致。'
建立访问权限后,获取您所说的成功打开您自己的邮件数据库并读取您的日历的代码,将其放入一个函数,该函数使用 serverName 和 mailFile 的参数调用,使用这些参数替换您在当前代码中硬编码的字符串。
现在,编写一个新的主循环,在服务器上打开 Domino 目录 (names.nsf),打开“人员”视图,并循环遍历所有人员文档。从每个文档中读取以下两个 NotesItem:“MailServer”和“MailFile”。如果它们是非空白的,请使用这些作为参数调用您的函数。