让 .NET 程序发送的 Lotus Notes 邮件将已发送邮件保存到不同的文件夹

让 .NET 程序发送的 Lotus Notes 邮件将已发送邮件保存到不同的文件夹

我有一个在我的 PC(Windows XP Pro)上运行的 .NET 程序,它通过我的 Lotus Notes 客户端定期自动发送电子邮件。

在我的 .NET 代码中,是否有办法让我将已发送邮件保存到另一个 Lotus Notes 文件夹,而不是保存在我的常规已发送邮件文件夹中?我希望我的已发送邮件文件夹仅包含我自己发送的电子邮件,而不混入我程序的已发送邮件。

答案1

我认为,这是错误的地方,属于 Stackoverflow...但答案是使用 NotesDocument 类的 PutInFolder 方法:NotesDocument.PutInFolder(FolderName)

答案2

很抱歉在这里发了这篇文章。它确实应该发布到 StackExchange,但我还是要感谢 Torsten Link 的评论。它帮助我完成了一半。如果我引起了任何人的兴趣,我会继续发布我的解决方案。

我首先要意识到的是文件夹和视图是两个不同的东西。

  • 视图将根据预定义的搜索条件列出文档。
  • 文件夹包含已标记为位于该文件夹中的文档。

因此,虽然我可以NotesDocument.PutInFolder(FolderName)将便笺的副本放入指定文件夹,但它并没有将其从已发送视图中“删除”。

要将其从“已发送”视图中删除,我必须使其不符合“已发送”视图的搜索条件。在本例中,以下是“已发送”视图的代码。

SELECT DeliveredDate = "" & PostedDate != "" & !(@IsMember("S"; ExcludeFromView))

这意味着以下内容。

Show the document in the view if the field "DeliveredDate" is blank and PostedDate is not blank, and the field ExcludeFromView does not contain an "S".

因此,为了防止该项目出现在已发送邮件视图中,我必须在 ExcludeFromView 字段的现有值中添加“S”。

NotesDocument.AppendItem("ExcludeFromView", "S")
NotesDocument.Send(False)
NotesDocument.PutInFolder("Automated Sent")

相关内容