从outlook加载项中删除exchange server中的邮件

从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

我正在使用Visual studio tools for office为outlook 2010(windows桌面版)编写外接程序。 outlook客户端已配置exchange电子邮件。 我想允许用户从exchange服务器删除邮件。 我认为,如果我使用exchange web服务或使用某些第三方库,应该可以这样做,但为了做到这一点,我必须要求用户将其exchange电子邮件配置重新指定到我的加载项中-我希望避免这种情况

我想知道是否有一种更简单的方法可以通过调用outlook或VSTO API来做到这一点,基本上我是在寻找一种方法,告诉outlook从我的加载项代码中删除服务器上的这些邮件。
我已尝试搜索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等)都有一个删除方法。这回答了你的问题吗?