Lotus注意模仿 - 访问另一个人的电子邮件/日历

时间:2014-04-06 01:44:22

标签: c# email calendar 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);
}

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

2 个答案:

答案 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”。