I have the following code:
(Meeting beeing the exchange appointment)
For Each Recipient As String In emailAdresses
For i As Integer = 0 To Meeting.RequiredAttendees.Count - 1
If (Meeting.RequiredAttendees(i).Address).ToUpper() = Recipient.ToUpper() Then
Meeting.RequiredAttendees.RemoveAt(i)
Exit For
End If
Next
Next
Meeting.Update(ConflictResolutionMode.AutoResolve, SendInvitationsOrCancellationsMode.SendOnlyToChanged)
Now as you can see i'm using SendInvitationsOrCancellationsMode.SendOnlyToChanged.
But even though that i'm using that mode it is still sending the appointment to all of the attendees.
I've looked at msdn and the code is exactly the same. And msdn tells me the following should happen:
Save the meeting and send a meeting cancellation message to the attendee or attendees that you removed
So basically msdn sais it is works but it does not. Is there a work around for this issue or is anyone else experiencing the same problem?
our exchange server is a 2007 SP1 version.
The answer can be in C# or VB.NET, I'll translate it to the language we need.
PS. Adding members and using this mode causes the invite to send to the newly added member only. But as I said before deleting does not have this same behaviour.
Doing:
Instead of:
Solved my problem, I do not know why and what it was having trouble with though.
Using
ConflictResolutionMode.AutoResolve
instead ofConflictResolutionMode.NeverOverwrite
did not work for me. After some research, I found out that this is the normal behaviour.The
SendInvitationsOrCancellationsMode
enum's valuesSendOnlyToChanged
andSendToChangedAndSaveCopy
behave similarly when it comes to sending email (the only difference is that the latter saves a copy of the sent email and the former doesn't):There is no reference to attendees that have been removed. I thought that the work 'modified' here means that, but apparently that is not the case.
This Microsoft Support Article (Article ID: 2873493) says that this is the expected behaviour: