手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

vacation(1)

名称

vacation - 自动回复邮件

用法概要

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。请参见“选项”部分。

选项

支持以下选项:

–I

初始化 .vacation.pag.vacation.dir 文件并启用 vacation。如果未指定 –I 标志,并且提供了 user 参数,则 vacation 将读取标准输入中的第一行(From: 行,没有冒号)。如果不存在该行,则会生成错误消息。

选项 –a–e–f–j–m–s–t 是在 .forward 文件中与 vacation 一起使用的配置选项,不在命令行上使用。例如,

\username, "|/usr/bin/vacation –t1m username"

每分钟重复向发件人发送回复。

–a alias

表示 alias 是运行 vacation 的用户的有效别名之一,因此发送到该别名的邮件将生成回复。

–e filter_file

使用 filter_file 而非 .vacation.filter 作为域和电子邮件地址过滤器的来源。

–f database_file

使用 database_file 而非 .vacation 作为数据库文件的基名。

–j

不检查收件人是否出现在 To:Cc: 行中。警告:使用此选项会导致休假回复被发送到邮递列表和其他不合适的位置;因此强烈建议不要使用此选项。

–m message_file

使用 ~/message_file 而非 ~/.vacation.msg 作为要发送的回复邮件。message_file 是所需的休假邮件文件的相对路径。为防止出现目录/文件“未找到”错误,message_file 应当与 ~/.forward 位于同一磁盘分区上。

–s sender

sender 的回复而非从传入邮件的 UNIX From 行读取的值。

–tN

更改重复向同一发件人发送回复的间隔。缺省值为 1 周。尾部的 smhdw 分别将 N 的单位标为秒、分钟、小时、天或周。

–l 选项既不用于初始化也不用于配置,仅用于报告。–l 选项还可以与 –f 选项结合使用。

–l

列出自上次调用 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 也不会回复来自 postmasterMailer-Daemon 的邮件。

除了以上条件之外,如果存在 .vacation.filter 文件,则将使用该文件来进一步限制要将回复发送到的地址集。该文件中的每行都应当是一个域名、电子邮件地址、否定域名或否定电子邮件地址。否定行以单字符 ! 开头。

每个行都将按列出顺序与发件人地址进行比较。如果除了大小写之外(将忽略大小写),发件人地址完全相同,则包含电子邮件地址的行匹配。如果发件人地址是 something @domain-namesomething@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)

属性类型
属性值
可用性
service/network/smtp/sendmail

另请参见

vi(1)sendmail(1M)getusershell(3C)aliases(4)shells(4)attributes(5)