可以为消息存储中发生的各种事件生成通知邮件。例如,用户登录时,可以生成 Login 邮件并发送到 Message Queue 代理。
configutil 参数指定每种生成的邮件。通过配置各种 configutil 参数,您可以决定哪些事件会生成邮件。configutil 参数可以被一个或多个 JMQ 通知插件库引用。
所有邮件都被传送到主题或队列,具体取决于将目标类型设置为 "topic" 还是 "queue"。有关如何配置 Message Queue 目标的信息,请参见配置 JMQ 通知插件。
每个邮件由以下邮件标题标识:
MQ_MESSAGE_TYPE_HEADER_PROPERTY
JMQ 通知插件支持的邮件如下表所示。
有关启用这些邮件的 configutil 参数列表,请参见22.3.4 configutil 参数的默认值。
表 22–1 JMQ 通知邮件
通知邮件 |
说明 |
---|---|
DeleteMsg |
从邮箱中删除标记为“已删除”的邮件。此操作等效于 IMAP 擦除。 |
Login |
用户从 IMAP、HTTP 或 POP 登录。(用 configutil 参数 local.store.notifyplugin.*.LogUser.enable 启用此邮件。) |
Logout |
用户从 IMAP、HTTP 或 POP 注销。(用 configutil 参数 local.store.notifyplugin.*.LogUser.enable 启用此邮件。) |
MsgFlags |
邮件上的邮件标志已更改。新旧标志会包含在此邮件中。 |
NewMsg |
系统收到新邮件并放入用户邮箱中。可以包含邮件标题和邮件正文。 |
OverQuota |
由于用户邮箱超过某个配额(diskquota 或 msgquota)导致操作失败。MTA 通道会保留邮件直到配额更改或用户邮箱计数低于配额。如果邮件在 MTA 保留期间过期,将清除该邮件。 |
PurgeMsg |
邮件被服务器进程 imexpire 从邮箱中清除(由于日期过期)。这是服务器端的清除,而 DeleteMsg 是客户端的清除。这并不是真正意义上的清除。 |
ReadMsg |
邮箱中的邮件已阅读。(在 IMAP 协议中,邮件标记为 Seen。) |
TrashMsg |
被标记的邮件将被 IMAP 或 HTTP 删除。用户可能仍然会在文件夹中看到此邮件,具体取决于邮件客户端的配置。在执行清除时,邮件将从文件夹中删除。 |
UnderQuota |
配额从 OverQuota 状态恢复到正常状态。 |
UpdateMsg |
通过 IMAP 操作,将邮件附加到邮箱。例如,用户将一个电子邮件复制到邮箱。可以包含邮件标题和邮件正文。 |