使用HCL C API将Domino v14新建邮件移至指定文件夹失败求助
HCL Domino C API 邮件创建后移动到指定文件夹的问题解决
你的现有代码执行成功但未生效,可能是参数配置或API使用方式的问题,以下是几种可行的解决方法:
一、直接使用NSFNoteAddToFolderAPI
这是Domino C API中专门用于将文档添加到文件夹的接口,逻辑更直观:
STATUS status; NOTEID folderNoteID; NOTEID sentFolderNoteID; // 获取目标文件夹的NOTEID status = NIFFindView(dbHandle, folderName, &folderNoteID); if (status != NOERROR) { return status; } // 将邮件添加到目标文件夹 status = NSFNoteAddToFolder(dbHandle, docNoteId, folderNoteID, 0); if (status != NOERROR) { return status; } // 可选:从“已发送”文件夹移除邮件(实现“移动”而非“复制”) status = NIFFindView(dbHandle, "$Sent", &sentFolderNoteID); if (status == NOERROR) { NSFNoteRemoveFromFolder(dbHandle, docNoteId, sentFolderNoteID, 0); }
二、创建邮件时直接指定目标文件夹
在保存邮件前,通过设置$FolderRefs字段,让邮件保存后直接出现在目标文件夹,无需后续移动操作:
// 在调用NSFNoteUpdate之前添加以下代码 NOTEID folderNoteID; STATUS error; // 先获取目标文件夹的NOTEID error = NIFFindView(dbHandle, folderName, &folderNoteID); if (error != NOERROR) { goto Done; } // 设置$FolderRefs字段,指定邮件归属的文件夹 WORD folderIDs[] = {folderNoteID}; error = NSFItemSetWord(hNote, "$FolderRefs", folderIDs, sizeof(folderIDs)/sizeof(WORD), 0); if (error != NOERROR) { goto Done; } // 保存邮件 error = NSFNoteUpdate(hNote, 0); if (error != NOERROR) { goto Done; }
三、修正原有FolderDocAdd调用逻辑
原代码中可调整FolderDocAdd的参数标记,确保文件夹归属被正确更新:
// Save to folder STATUS status; NOTEID fNoteID; HANDLE hIDTable; status = NIFFindView(dbHandle, folderName, &fNoteID); if (status != NOERROR) { return status; } status = IDCreateTable(sizeof(NOTEID), &hIDTable); if (status != NOERROR) { return status; } status = IDInsert(hIDTable, docNoteId, NULL); if (status != NOERROR) { IDDestroyTable(hIDTable); return status; } // 使用FOLDER_DOC_ADD_REPLACE标记,替换文档的现有文件夹归属 status = FolderDocAdd(dbHandle, NULLHANDLE, fNoteID, hIDTable, FOLDER_DOC_ADD_REPLACE); if (status != NOERROR) { IDDestroyTable(hIDTable); return status; } IDDestroyTable(hIDTable);
注意事项
- 确认目标文件夹是Domino中的文件夹视图(而非普通视图),
NIFFindView需传入准确的视图名称(区分大小写,系统文件夹如“已发送”对应内部名称$Sent) - 确保操作账号拥有数据库的文档编辑权限及文件夹修改权限
- 操作完成后可调用
NSFDbFlush(dbHandle)确保变更写入磁盘
内容的提问来源于stack exchange,提问作者MSJ
相关产品推荐
相关产品推荐

