vacation [-I]
vacation [-a alias] [-e filter_file] [-f database_file] [-j] [-m message_file] [-s sender] [-tN] username
vacation [-f database_file] -l
vacation 实用程序自动回复传入邮件。
安装包括一个设置 vacation 基本配置的交互程序。
要安装 vacation,请在命令行上不带参数的键入 vacation。该程序创建一个 .vacation.msg 文件(其中包含启用 vacation 时自动发送到所有发件人的邮件),并启动一个编辑器供您用来修改该邮件。(请参见“用法”部分。)调用哪个编辑器是由 VISUAL 或 EDITOR 环境变量决定的,在未设置这些环境变量的情况下则是由 vi(1) 决定的。
如果您的起始目录中不存在 .forward 文件,则还会创建该文件。在创建之后,.forward 文件将包含一个如下形式的行:
传入邮件的一个副本被发送到 username,另一个副本被传输到 vacation:
\username, "|/usr/bin/vacation username"
如果您的起始目录中存在 .forward 文件,将询问您是否要将其删除,删除该文件会禁用 vacation 并结束安装。
该程序将自动创建 .vacation.pag 和 .vacation.dir,其中包含启用 vacation 时发件人的列表。
.forward 文件是否存在决定了 vacation 处于启用还是禁用状态。要禁用 vacation,请删除 .forward 文件或将其移动到一个新名称。
–I 选项清除 vacation 日志文件 .vacation.pag 和 .vacation.dir,从而清除前一 vacation 会话中的发件人列表。(请参见“选项”部分。)
vacation 提供了不在安装过程中使用的配置选项,这些选项包括 –a、–e、–f、–j、–m、–s 和 –t。(请参见“选项”部分。)
vacation 提供了一个报告选项 –l。请参见“选项”部分。
支持以下选项:
初始化 .vacation.pag 和 .vacation.dir 文件并启用 vacation。如果未指定 –I 标志,并且提供了 user 参数,则 vacation 将读取标准输入中的第一行(From: 行,没有冒号)。如果不存在该行,则会生成错误消息。
选项 –a、–e、–f、–j、–m、–s 和 –t 是在 .forward 文件中与 vacation 一起使用的配置选项,不在命令行上使用。例如,
\username, "|/usr/bin/vacation –t1m username"
每分钟重复向发件人发送回复。
表示 alias 是运行 vacation 的用户的有效别名之一,因此发送到该别名的邮件将生成回复。
使用 filter_file 而非 .vacation.filter 作为域和电子邮件地址过滤器的来源。
使用 database_file 而非 .vacation 作为数据库文件的基名。
不检查收件人是否出现在 To: 或 Cc: 行中。警告:使用此选项会导致休假回复被发送到邮递列表和其他不合适的位置;因此强烈建议不要使用此选项。
使用 ~/message_file 而非 ~/.vacation.msg 作为要发送的回复邮件。message_file 是所需的休假邮件文件的相对路径。为防止出现目录/文件“未找到”错误,message_file 应当与 ~/.forward 位于同一磁盘分区上。
对 sender 的回复而非从传入邮件的 UNIX From 行读取的值。
更改重复向同一发件人发送回复的间隔。缺省值为 1 周。尾部的 s、m、h、d 或 w 分别将 N 的单位标为秒、分钟、小时、天或周。
–l 选项既不用于初始化也不用于配置,仅用于报告。–l 选项还可以与 –f 选项结合使用。
列出自上次调用 vacation -I 以来已将回复发送到的地址以及日期和时间戳。
.vacation.msg 的标题应当至少包含一个 Subject: 行(不应当包括 To: 行)。例如:
Subject: I am on vacation I am on vacation until July 22. If you have something urgent, please contact Joe Jones (jones@fB0). --John
如果字符串 $SUBJECT 出现在 .vacation.msg 文件中,则在发送回复时会使用原始邮件的主题将其替换。因此,如下所示的 .vacation.msg 文件
Subject: I am on vacation I am on vacation until July 22. Your mail regarding "$SUBJECT" will be read when I return. If you have something urgent, please contact Joe Jones (jones@fB0). --John
在回复中将包括邮件的主题。
如果 To: 或 Cc: 行没有列出原始邮件发送到的用户,或者没有列出其别名中的一个,如果初始 From 行包括字符串 −REQUEST@ 或者标题中包括 Precedence: bulk 或 Precedence: junk 行,则不会发送邮件。
vacation 也不会回复来自 postmaster 或 Mailer-Daemon 的邮件。
除了以上条件之外,如果存在 .vacation.filter 文件,则将使用该文件来进一步限制要将回复发送到的地址集。该文件中的每行都应当是一个域名、电子邮件地址、否定域名或否定电子邮件地址。否定行以单字符 ! 开头。
每个行都将按列出顺序与发件人地址进行比较。如果除了大小写之外(将忽略大小写),发件人地址完全相同,则包含电子邮件地址的行匹配。如果发件人地址是 something @domain-name 或 something@something.domain-name,则包含域名的行匹配。如果第一个匹配项是一个非否定条目,则会发送回复。如果第一个匹配项是一个否定条目或者不存在匹配的行,则不会发送答复。
样例过滤器文件可能类似下面这样:
!host.subdomain.sun.com sun.com !wife@mydomain.com mydomain.com onefriend@hisisp.com anotherfriend@herisp.com
将忽略空白行以及以注释字符 “#” 开头的行。
~/.forward
~/.vacation.filter
~/.vacation.msg
发件人列表将保留在您的起始目录中的 dbm 格式文件 .vacation.pag 和 .vacation.dir 中。这些文件是 dbm 文件,无法直接通过文本编辑器查看。
有关下列属性的说明,请参见 attributes(5):
|
vi(1)、sendmail(1M)、getusershell(3C)、aliases(4)、shells(4)、attributes(5)