2011-06-02 63 views
0

我正在寻找一种不使用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)的用户生成任务请求。

+0

很遗憾,答案是,似乎有可能不目前要做到这一点,特别是使用Exchange Web服务托管API v1.1。你也不能用扩展的MAPI来做到这一点。 – Seph 2011-11-09 11:59:58

回答

-1

您可以使用EWS托管API,因为它不依赖于Outlook Interop或已安装或正在运行的Outlook实例。

如果您认证为用户(这可能需要假冒或有用户的凭据),你可以为他创造的任务/她简单地用:

var task = new Task(service){Subject = "simple task"}; 
task.Save(WellKnownFolderNames.Tasks); 
+0

问题是我正在寻找一种方法将任务请求发送到其他用户帐户,通常可能会使用不同Exchange服务器的人 – Seph 2011-07-20 23:35:26

+0

这是可能的,但需要一些解决方法,请访问博客文章可以帮助你。 http://blogs.msdn.com/b/dhruvkh/archive/2012/04/06/working-with-tasks-using-exchange-web-services.aspx?CommentPosted=true#commentmessage – ijaz 2015-02-17 14:33:20