我正在寻找一种方法来访问另一个用户的日历和电子邮件收件箱(我可以毫无问题地访问我自己的日历/电子邮件)。目前我可以通过莲花笔记访问其他收件箱/日历(我有足够的权利)。但我无法通过编程方式管理它来访问数据。
我已经列出了我的所有观点,但没有任何挪用。
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);
}
任何想法,如果这是可能的以及如何?
答案 0 :(得分:2)
每个Notes用户的邮箱都位于单独的数据库中。
所以,首先你要用
获取数据库Domino.NotesDatabase db =
session.GetDatabase("yourServer", "UserMail.nsf", false);
您可以在那里访问日历和电子邮件文件夹。
答案 1 :(得分:1)
@ Knut的答案为您提供了所需的基本信息,但我想澄清一点:它必须是hisServer(或herServer),而不是yourServer。此外,它通常是“mail \ hisShortname.nsf”),但情况并非总是如此。重点是,如果您尝试编写通用代码,则必须在Domino目录中查看这些内容。
如果您使用的是最新版本的Notes API,最好的方法是使用session.getDirectory(myServer)
来获取NotesDirectory对象。 (在这种情况下,只要用户位于同一个Notes域中,您使用的服务器都无关紧要。)以下是getDirectory方法的文档。
获得Domino目录的句柄后,您需要查找要访问其邮件文件的人员的信息。每次搜索时,NotesDirectory类的正式文档似乎都很难在网上找到,所以我无法链接到它。 this wiki page第一部分中的第二个示例显示了对LookupNames
方法的调用,以检索Person对象的信息,这是您需要执行的操作。您要检索的两个项目是“MailServer”和“MailFile”。