【发布时间】:2015-04-01 21:39:19
【问题描述】:
我有一个小型 WinForms 程序,它允许我的用户为我们的客户创建电子邮件群发。该应用程序有两种选择:一种是用于设计电子邮件的 HTML 编辑器(效果很好),第二种是导入 .msg 或 .oft 模板。 电子邮件完成后,它会被移至共享的 Outlook 邮件文件夹,以进行夜间宏发送作业。
很简单的东西!
问题:一旦模板在应用程序前景中打开,似乎缓存该版本。如果用户决定退出,则在模板中进行更改,Outlook 不会接受更新。
注意:如果用户单击“预览”按钮,他们会在收件箱中收到正确的更新版本。但是当他们提交 MailItem 时,它会选择旧版本。
Dim newItem as Outlook.MailItem = gobjOutlook.CreateItemFromTemplate(fileEmailTemplate.FileName)
发送命令运行良好newItem.Send()
但是当我将它移动到共享文件夹时,它会从某个地方获取原始版本。
Dim addFldr As Outlook.MAPIFolder
addFldr = StoreFLDR.Folders.Add(gobjNamespace.CurrentUser.Name & ": " & DateTime.Now.ToString())
newItem.Save()
newItem.Move(addFldr )
我尝试将 GC 和 SaveAs 强制到另一个位置并重新加载模板,但没有成功。
【问题讨论】:
-
我刚刚发现如果我使用文本编辑器编辑 .msg/.otf 文件包含原始消息。并且 .net 代码会选择旧的(原始)消息而不是新编辑的消息。
标签: vb.net outlook interop exchange-server mailitem