2011-06-02 67 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