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



我正在寻找一种不使用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()

我对使用脱机Outlook发送任务的答案很感兴趣,但如果不使用Outlook Interop,我似乎无法将任务与Redemption一起使用。

我已经花了几天的时间在这方面,我正在寻找一个工作代码示例,以使用SMTP或Redemption(没有Outlook Interop)或Exchange Web Services(是否托管API)为其他用户生成任务请求。

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

如果您被验证为用户(可能需要模拟或拥有用户凭据),您可以简单地使用为他/她创建任务

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

最新更新