C#读取Lotus Domino邮件时无法获取($Inbox)等视图的解决
C#读取Lotus Domino邮件:系统视图返回null的解决方法
我最近在开发一个用C#读取Lotus Domino邮件的应用程序时,碰到了一个典型问题,整理出来给大家参考:
问题现象
- 已经成功连接到Domino Social 9测试服务器
- 访问数据库视图时,除
($Inbox)、($Draft)、($Sent)这类系统默认视图外,其他自定义视图都能正常加载 - 调用代码
db.getview("($Inbox)")时,返回值始终为null
排查过程
一开始我以为是权限配置或者视图名称拼写错误,反复核对了权限、视图名称的大小写和符号都没发现问题。直到检查数据库连接的细节才恍然大悟——我连接的是names.nsf(Domino的公共通讯录数据库),而不是目标用户的个人邮件NSF文件!
解决方法
只需要把数据库连接的文件名替换成对应用户的个人NSF文件(通常格式为用户名.nsf),重新连接后再调用db.getview("($Inbox)")就能正常获取到这些系统视图,所有功能都恢复了正常。
内容的提问来源于stack exchange,提问作者Cozdemir
相关产品推荐
相关产品推荐

