使用不使用Outlook Interop发送Outlook / Exchange任务请求

时间:2011-06-02 00:10:25

标签: .net outlook exchangewebservices outlook-redemption

我正在寻找一种不使用Outlook Interop发送Exchange任务请求的方法。理想情况下使用SMTP的东西,但据我所知,这可能是不可能的。我尝试了很多解决方案,但它们似乎都成功了,但任务请求永远不会到达另一个邮箱。

即使不引发错误,也无效的兑换代码:

Dim rSession As New Redemption.RDOSession
rSession.LogonExchangeMailbox("example@example.com", "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("aaa@example.com")
RecipAssign.Type = 1
Task.To = "aaa@example.com"
Task.Recipients.ResolveAll()
Task.Send()

我对Sending Tasks using an offline Outlook的答案很感兴趣,但如果不使用Outlook Interop,我似乎无法使用Redemption处理任务。

已经花了好几天,我正在寻找一个有效的代码示例来为使用SMTP或Redemption(没有Outlook Interop)或Exchange Web服务(托管API或不托管API)的其他用户生成任务请求。

1 个答案:

答案 0 :(得分:-1)

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

如果您作为用户进行身份验证(可能需要模拟或拥有用户凭据),您只需使用以下命令为他/她创建任务:

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