Notification-Type Header
Topic Last Modified: 2006-06-13
This topic applies to Exchange 2000 Server SP2 or later.
The WebDAV Notification-Type header specifies the type of event that is to be monitored in a subscription. There are several different events that can be monitored: deletes, moves, updates, new mail, and new members. Subscriptions for delete events will fire notifications whenever resources are deleted within the scope of the subscription. This does not apply to the removal of properties. Subscriptions for move events are generated when resources or collections are moved within the scope of the subscription. Update events consist of any change to resources within the scope of a subscription. The other subscriptions are a subset of the update event. New mail notifications are fired when mail arrives in the subscribed collection resource, and new member notifications are generated when creating resources within the scope of the subscription. Together, these different events allow a system to monitor general changes to the state of the server and to respond accordingly.
Notification-Type := "notification-type:" ntype
ntype := "update" |
"update/newmember" |
"delete" |
"move" |
"pragma/<https://schemas.microsoft.com/exchange/newmail>"
The Notification-Type header must appear in a new SUBSCRIBE Method. This header should not appear in a SUBSCRIBE Method if the Subscription-ID Header is renewing a subscription.
The Notification-Type header must appear in a 200 (OK) response to a SUBSCRIBE Method if anything in the notification-type or delivery control changed.
There can be no spaces anywhere in the Notification-Type header.
If a Delete notification is registered on an inbox or the Sent Items folder and Microsoft® Outlook® or Outlook Web Access is used to delete a message in the inbox, a Delete notification is not raised. This is because Outlook and Outlook Web Access move messages from the Inbox to the Deleted Items folder rather than deleting them.
If a user subscribes to a folder and that folder is later deleted or renamed, then the subscription is lost and the subscription ID becomes invalid. The POLL Method will then fail with a 412 (Precondition Failed) response. It is the client's responsibility to watch for the 412 (Precondition Failed) response and to verify that a folder resource still exists.
If a pragma/<https://schemas.microsoft.com/exchange/newmail> notification is registered on a public folder and a message is posted to that public folder, the notification will not be raised.
The following table contains information about the different events that can be specified in the Notification-Type header.
ntype/subtype | Target | Depth | Store Event Generated | Event Description |
---|---|---|---|---|
Delete |
Any |
0 |
ObjectDeleted |
The message or folder subscribed to was deleted. |
Delete |
Folder |
1 |
ObjectDeleted |
A message or folder was deleted from the folder. |
Move |
Any |
0 |
ObjectMoved |
The message or folder was moved. |
Move |
Folder |
1 |
ObjectMoved |
A message or folder was moved from or to the folder. |
pragma/<https://schemas.microsoft.com/exchange/newmail> |
Mailbox or Folder |
Any |
NewMail |
Special new mail update. |
pragma/<https://schemas.microsoft.com/exchange/newmail> |
Message |
Any |
None |
Not valid - return 409 (Conflict). |
Update |
Message |
0 |
ObjectModified |
The message was modified (either properties or body). |
Update |
Folder |
0 |
TableModified |
Properties of the folder were modified. |
Update |
Folder |
1 |
ObjectCreated, ObjectModified, ObjectDeleted, ObjectMoved, TableModified, ObjectCopied |
A message or subfolder was created in the folder, copied to the folder, moved to or from the folder, deleted from the folder, modified in the folder, or the folder properties were modified. |
Update/newmember |
Any |
0 |
None |
Not valid - return 409 (Conflict). |
Update/newmember |
Existing Folder |
1 |
ObjectCreated, ObjectMoved, ObjectCopied |
A message or subfolder was created in the folder, copied to the folder, or moved to the folder. |
Update/propchange |
Any |
Any |
None |
Not valid - return 409 (Conflict). The Exchange store does not distinguish between property changes on an item and changes in the body |
Any |
Message |
1 |
Treat as depth = 0. |
Example
The following example specifies that the update event is to be monitored.
notification-type: update