Sun Java System Messaging Server 6 2005Q4 管理指南

休假自动回复操作的原理

在调用时,休假操作按如下方式进行:

  1. Sun Java System Messaging Server 进行检查以确保休假操作是由用户级别而不是系统级别 Sieve 脚本来执行。如果在系统级别的脚本中使用休假,将产生一个错误。

  2. 选中“无休假通知”内部 MTA 标志。如果设置了该标志,则处理将终止并且不会发送休假通知。

  3. 邮件的返回地址现在被选中。如果该地址为空白,则处理将终止并且不会发送休假通知。

  4. MTA 进行检查以查看在 :addresses 标记的变量中指定的用户地址或任何其他地址是否显示在当前邮件的 To:Cc:Resent-to:Resent-cc: 标题字段中。如果在任何标题字符字段中均未找到任何地址,则处理将终止并且不会发送休假通知。

  5. Messaging Server 将构造一个 :subject 变量和原因字符串的散列。将根据先前休假响应的每个用户的记录选取该字符串以及当前邮件的返回地址。如果已在 :days 变量允许的时间范围内发送了回复,则处理将终止并且将不会发送回复。

  6. Messaging Server 将通过 :subject 变量、原因字符串和 :mime 变量构造一个休假通知。此响应邮件的两种基本形式可能为:

    • 在 RFC 2298 中指定的形式的邮件处理通知,其中第一部分包含原因文本。

    • 单个部分文本回复。(此形式只用于支持“回复”自动回复模式属性设置。)

请注意,通过 Messenger Express 配置休假邮件时,系统会将 mailautoreplymode 自动设置为 reply

默认情况下,系统将清除“无休假通知”MTA 标志。可以通过使用非标准 novacation 操作由系统级别 Sieve 脚本设置该标志。novacation Sieve 操作只允许在系统级别 Sieve 脚本中使用 。如果在用户级别的脚本中使用该操作,将生成错误。您可以使用此操作实现站点范围内对休假回复的限制(例如阻止对包含子字符串 "MAILER-DAEMON" 的地址的回复)。

每个用户每次响应的信息被存储在一组平面文本文件中,每个本地用户一个。这些文件的位置和命名方案由 VACATION_TEMPLATE MTA 选项的设置指定。该选项应设置为 file: URL

这些文件的维护是自动进行的,并由 VACATION_CLEANUP 整数 MTA 选项设置控制。每次打开其中一个文件时,将以该值为模计算当前时间的值(以秒为单位)。如果结果为零,将扫描该文件并删除所有过期的条目。该选项的默认值为 200,这意味着在 200 次中有 1 次机会将执行清除操作。

用来读写这些平面文本文件的方法是以这样的方式设计的,即,它应该可以在 NFS 中正常操作。这使多个 MTA 可以在公用文件系统中共享单组文件。