莲花笔记模拟 - 访问另一个人的电子邮件/日历

本文关键字:一个人的 电子邮件 日历 访问 笔记 模拟 莲花 | 更新日期: 2023-09-27 17:56:47

>我正在寻找一种访问其他用户的日历和电子邮件收件箱的方法(我可以毫无问题地访问自己的日历/电子邮件)。目前,我可以通过lotus notes访问其他收件箱/日历(我有足够的权限)。但是我无法管理它以编程方式访问数据。

我已经列出了我所有的观点,但没有任何适当的内容。

private Domino.NotesDatabase db;
Object[] docColl = this.db.Views as Object[];
foreach (Object objView in docColl)
{
   NotesView view = objView as NotesView;
   this.WriteToLog(view.Name);
}

任何想法,如果这可能以及如何?

莲花笔记模拟 - 访问另一个人的电子邮件/日历

每个 Notes 用户的邮箱都在单独的数据库中。

因此,首先您必须获取数据库

Domino.NotesDatabase db = 
              session.GetDatabase("yourServer", "UserMail.nsf", false);

在那里您可以访问日历和电子邮件文件夹。

@Knut的答案为您提供了所需的基本信息,但我想澄清一下:它必须是hisServer(或herServer),而不是您的服务器。 此外,它通常是"mail''hisShortname.nsf"),但情况并非总是如此。 关键是,如果你试图编写通用代码,你必须在 Domino 目录中查找这些东西。

如果您使用的是最新版本的 Notes API,那么最好的方法是使用 session.getDirectory(myServer) 来获取 NotesDirectory 对象。 (在这种情况下,您使用什么服务器并不重要,只要用户位于同一 Notes 域中即可。 这是 getDirectory 方法的文档。

获得 Domino 目录的句柄后,您需要查找要访问其邮件文件的人员的信息。每次我搜索 NotesDirectory 类的正式文档时,似乎都很难在网上找到它,所以我无法链接到它。 此 wiki 页面第一部分中的第二个示例显示了对 LookupNames 方法的调用,以检索 Person 对象的信息,这是您需要执行的操作。 您要检索的两个项目是"邮件服务器"和"邮件文件"。