Go to main content

手册页部分 1:用户命令

退出打印视图

更新时间: 2022年7月27日 星期三
 
 

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 实用程序自动回复传入邮件。

Installation

安装包括一个设置 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 周。结尾 s、m、h、d 或 w 分别将 N 的单位标为秒、分钟、小时、天或周。

The –l option is neither for initialization nor configuration, but for reporting.–l 选项还可以与 –f 选项结合使用。

–l

列出自上次调用 vacation -I 以来已将回复发送到的地址以及日期和时间戳。

用法

.vacation.msg 文件的头应当至少包含一个 Subject: 行(不应当包括 To: 行)。For example:

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.example.com
example.com
!wife@mydomain.example
mydomain.example
onefriend@example.net
anotherfriend@example.org

将忽略空白行以及以注释字符 “#” 开头的行。

文件

~/.forward

~/.vacation.filter

~/.vacation.msg

发件人列表将保留在您的起始目录中的 dbm 格式文件 .vacation.pag 和 .vacation.dir 中。这些文件是 dbm 文件,无法直接通过文本编辑器查看。

属性

有关下列属性的说明,请参见 attributes(7):

属性类型
属性值
可用性
mail/vacation

另请参见

vi(1)、getusershell(3C)、aliases(5)、shells(5)、attributes(7)、sendmail(8)