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

See Also

Other Resources

SUBSCRIBE Method