Notification messages can be generated for various kinds of events that occur in the message store. For example, when a user logs in, a Login message can be produced and delivered to the Message Queue broker.
A configutil parameter specifies each kind of message to be produced. You determine which events will generate messages by configuring various configutil parameters. The configutil parameters are referenced by one or more JMQ Notification plug-in libraries.
All messages are delivered to a topic or a queue, depending on whether the destination type is set to "topic" or "queue". For information on how to configure the Message Queue destination, see To Configure a JMQ Notification Plug-in.
Each message is identified by the following message header:
MQ_MESSAGE_TYPE_HEADER_PROPERTY
The JMQ Notification plug-in supports the messages shown in the following table.
For a list of the configutil parameters that enable these messages, see 22.3.4 Default Values of the configutil Parameters.
Table 22–1 JMQ Notification Messages
Notification Message |
Description |
---|---|
DeleteMsg |
Messages marked as “Deleted” are removed from the mailbox. This is the equivalent to IMAP expunge. |
Login |
User logged in from IMAP, HTTP, or POP. (This message is enabled with the configutil parameter local.store.notifyplugin.*.LogUser.enable.) |
Logout |
User logged out from IMAP, HTTP, or POP. (This message is enabled with the configutil parameter local.store.notifyplugin.*.LogUser.enable.) |
MsgFlags |
Message flags on a message have been changed. The old and new flags are carried with this message. |
NewMsg |
New message was received by the system into the user’s mailbox. Can contain message headers and body. |
OverQuota |
Operation failed because the user’s mailbox exceeded one of the quotas (diskquota, msgquota). The MTA channel holds the message until the quota changes or the user’s mailbox count goes below the quota. If the message expires while it is being held by the MTA, it will be expunged. |
PurgeMsg |
Message expunged (as a result of an expired date) from the mailbox by the server process imexpire. This is a server side expunge, whereas DeleteMsg is a client side expunge. This is not a purge in the true sense of the word. |
ReadMsg |
Message in the mailbox was read. (In the IMAP protocol, the message was marked Seen.) |
TrashMsg |
Message was marked for deletion by IMAP or HTTP. The user may still see the message in the folder, depending on the mail client’s configuration. The messages are to be removed from the folder when an expunge is performed. |
UnderQuota |
Quota went back to normal from OverQuota state. |
UpdateMsg |
Message was appended to the mailbox by an IMAP operation. For example, the user copied an email message to the mailbox. Can contain message headers and body. |