0
votes

I am looking for a way to send an Exchange Task Request without using the Outlook Interop. Ideally something using SMTP, but I understand that's likely not possible. I have tried many solutions but they all seem to succeed but the task request never arrives in the other mailbox.

Redemption code that doesn't work even though it doesn't throw an error:

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()

I am interested in the answer on Sending Tasks using an offline Outlook but I cannot seem to get tasks to work with Redemption without using the Outlook Interop.

Having spent days already on this, I'm looking for a working code sample to generate task requests for other users using SMTP or Redemption (without the Outlook Interop) or Exchange Web Services (managed API or not).

1
Sadly, the answer is that it doesn't seem possible at the moment to do this, especially with Exchange Web Services Managed API v1.1. Nor can you do this with extended MAPI.Seph

1 Answers

-1
votes

You can use EWS Managed API because it does not depend on Outlook Interop or installed or working Outlook instance.

If you are authenticated as a user (which can require Impersonation or having user's credentials) you can create task for him/her simply with:

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