如何通过 Domino COM 对象获取/设置 Domino 读取消息的状态?
我有一个通过 Domino COM 对象与 Domino 交互的应用程序。我可以毫无问题地发送、查找、删除邮件,但获取/设置未读状态不起作用。 Domino COM 对象有方法获取读取状态,但它总是以读取状态返回。有人有有效的解决方法吗?我在网上搜索到的任何内容都没有成功。
I have an application that interacts with Domino via the Domino COM object. I can send, find, delete messages without problem but getting/setting the unread status does not work. The Domino COM object has method to get the read status but it always come back as read. Anyone have a workaround that works? I've had no success with anything I've found searching online.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Domino 中的未读标记是一个有趣的老野兽。它们源自多个来源:虽然您在特定 NSF 中拥有 Notes ID 的内部表,但您还拥有存储在本地 Notes 客户端的 CACHE.DSK 文件中的“未读日志”。
Notes 的所有最新版本(即过去 8 / 9 年)都会在 Notes 客户端中移动此未读表(我认为是 DESKTOP.DSK),并且还使它们具有服务器感知能力,以便 API 可以处理未读标记。
不幸的是,这意味着您可能对 COM 之类的东西不那么幸运,但正如您所发现的,C++ API 应该没问题。
IBM:Lotus Notes 中未读标记的架构
Unread marks in Domino are a funny old beast. They're derived from multiple sources: whilst you have an internal table of Notes IDs within a specific NSF, you also have an "unread journal" stored in the local Notes client's CACHE.DSK file.
All recent versions of Notes (i.e. in the last 8 / 9 years) move this unread table within the Notes client (to DESKTOP.DSK I think), and also make them server-aware, so that APIs can get a handle on unread marks.
Unfortunately, this means that you're probably out of luck with things like COM but as you've found, the C++ API should be OK.
IBM: The Architecture of Unread Marks in Lotus Notes
实际上,经过更多研究,看起来通过 COM API 获取/设置未读状态是行不通的。但是,使用 C++ API 可以 -我应该能够将其作为托管 C++ 项目与我现有的 C# 项目集成。
Actually with some more research it looks like getting/setting the unread status through the COM API doesn't work. However using the C++ API would work - and I should be able to integrate this with my existing C# project as a managed C++ project.