以编程方式使用Lotus Notes接收新电子邮件

时间:2011-04-27 14:47:31

标签: c# lotus-notes interop-domino

是否有方法或任何方法从服务器接收或从C sharp获取Lotus Notes Domino对象的新电子邮件?

在收件箱视图中循环时,我得到的只是现有的电子邮件,而不是新的电子邮件。所以我正在努力发起接收。

2 个答案:

答案 0 :(得分:1)

“未读标记”或“未读电子邮件”是Lotus Notes的一项独特功能,未在Java或.Net中公开为API。但您可以通过编程方式模拟它而不会过于复杂。你有可能试试这个:

如果您的CSharp对象可以具有遍历收件箱时设置的“最后检查”日期/时间值。

现在,在循环收件箱中,获取每个文档的创建日期。

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

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

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

示例代码的链接位于上面的链接中。

答案 1 :(得分:0)

如果你遇到了一个新的电子邮件被添加到视图的情况,你在之后循环你已经开始循环,那么你可以调用NotesView.Refresh方法来更新NotesView对象

否则,NotesView对象将包含视图中的所有电子邮件。如果通过“新”你谈论未读电子邮件,那就是另一回事。 Notes 8.0引入了一个名为GetAllUnreadEntries的方法,可以帮助您浏览任何未读的视图条目。后端文档本身不存储读/未读属性。

希望这有帮助!