使用不使用Outlook Interop发送Outlook/Exchange任务请求
问题描述:
我正在寻找一种不使用Outlook Interop来发送Exchange任务请求的方法。理想情况下使用SMTP的东西,但我明白这可能是不可能的。我尝试了许多解决方案,但它们都似乎成功,但任务请求永远不会到达另一个邮箱。使用不使用Outlook Interop发送Outlook/Exchange任务请求
赎回代码无法即使它的工作不会引发错误:
Dim rSession As New Redemption.RDOSession
rSession.LogonExchangeMailbox("[email protected]", "exchange.example.com")
Dim Task As Redemption.RDOTaskItem = CType(rSession.GetDefaultFolder(Redemption.rdoDefaultFolders.olFolderTasks).Items.Add, Redemption.RDOTaskItem)
Task.Subject = "Test Redemption Task 22"
Task.Body = "Test Task Body"
Task.StartDate = #5/1/2010#
Task.Assign()
Dim RecipAssign As Redemption.RDORecipient
RecipAssign = Task.Recipients.Add("[email protected]")
RecipAssign.Type = 1
Task.To = "[email protected]"
Task.Recipients.ResolveAll()
Task.Send()
我感兴趣的Sending Tasks using an offline Outlook的答案,但我似乎无法获得任务与救赎工作,而无需使用Outlook Interop。
已经花了数天的时间,我正在寻找一个工作代码示例来为其他使用SMTP或Redemption(不包括Outlook Interop)或Exchange Web服务(托管API)的用户生成任务请求。
答
您可以使用EWS托管API,因为它不依赖于Outlook Interop或已安装或正在运行的Outlook实例。
如果您认证为用户(这可能需要假冒或有用户的凭据),你可以为他创造的任务/她简单地用:
var task = new Task(service){Subject = "simple task"};
task.Save(WellKnownFolderNames.Tasks);
很遗憾,答案是,似乎有可能不目前要做到这一点,特别是使用Exchange Web服务托管API v1.1。你也不能用扩展的MAPI来做到这一点。 – Seph 2011-11-09 11:59:58