从outlook加载项中删除exchange server中的邮件
我正在使用Visual studio tools for office为outlook 2010(windows桌面版)编写外接程序。 outlook客户端已配置exchange电子邮件。 我想允许用户从exchange服务器删除邮件。 我认为,如果我使用exchange web服务或使用某些第三方库,应该可以这样做,但为了做到这一点,我必须要求用户将其exchange电子邮件配置重新指定到我的加载项中-我希望避免这种情况 我想知道是否有一种更简单的方法可以通过调用outlook或VSTO API来做到这一点,基本上我是在寻找一种方法,告诉outlook从我的加载项代码中删除服务器上的这些邮件。从outlook加载项中删除exchange server中的邮件,outlook,vsto,exchangewebservices,Outlook,Vsto,Exchangewebservices,我正在使用Visual studio tools for office为outlook 2010(windows桌面版)编写外接程序。 outlook客户端已配置exchange电子邮件。 我想允许用户从exchange服务器删除邮件。 我认为,如果我使用exchange web服务或使用某些第三方库,应该可以这样做,但为了做到这一点,我必须要求用户将其exchange电子邮件配置重新指定到我的加载项中-我希望避免这种情况 我想知道是否有一种更简单的方法可以通过调用outlook或VSTO AP
我已尝试搜索VSTO文档,但未得到任何结果。不清楚是否已为Exchange配置文件启用缓存模式。。。但您可以使用Outlook项目的方法。
Delete
方法删除集合中的单个项。注意,Delete方法将项目从包含文件夹移动到Deleted Items文件夹。如果包含文件夹是“已删除邮件”文件夹,则“删除”方法将永久删除该项目
如果在Outlook中启用了缓存模式,则还需要与服务器同步以删除其中的项目。该方法开始使用指定的发送\接收组同步用户文件夹。例如,VBA宏说明了:
Public Sub Sync()
Dim nsp As Outlook.NameSpace
Dim sycs As Outlook.SyncObjects
Dim syc As Outlook.SyncObject
Dim i As Integer
Dim strPrompt As Integer
Set nsp = Application.GetNamespace("MAPI")
Set sycs = nsp.SyncObjects
For i = 1 To sycs.Count
Set syc = sycs.Item(i)
strPrompt = MsgBox( _
"Do you wish to synchronize " & syc.Name &"?", vbYesNo)
If strPrompt = vbYes Then
syc.Start
End If
Next
End Sub
这些电子邮件是否在其邮箱的文件夹中?是的,它们是在交换中-如果您登录到outlook web界面(owa),您可以在他的inboxI中看到邮件。我可能对您的问题了解得太多了,但确实可以使用outlook对象模型删除任何类型的outlook内容。每个项目(例如MailItem、AppointmentItem等)都有一个删除方法。这回答了你的问题吗?