contents
下一主题: 本地用户 上一层: 启动并运行 smail 前一主题: 路径数据库

向本地地址投递消息

最常见的情况是,本地地址只是用户的登录名,在这种情况下,消息会被投递到她的邮箱,/var/spool/mail/user。其他情况包括别名和邮件列表名称,以及用户进行的邮件转发。在这些情况下,本地地址会扩展为一个新的地址列表,这些地址可以是本地的,也可以是远程的。

除了这些“正常”地址之外,smail 还可以处理其他类型的本地消息目的地,例如文件名和管道命令。这些本身不是地址,所以你不能发送邮件到,比如说,/etc/passwd@vbrew.com;它们只有在从转发或别名文件中获取时才有效。

文件名 是任何以斜杠 (/) 或波浪号 (~) 开头的内容。后者指的是用户的主目录,并且只有当文件名是从 .forward 文件或邮箱中的转发条目中获取时才有可能(见下文)。当投递到文件时,smail 会将消息附加到文件中,并在必要时创建该文件。

管道命令 可以是以管道符号 (|) 开头的任何命令。这使得 smail 将命令及其参数(但不包括前导符“|”)传递给 shell。消息本身通过标准输入馈送到此命令。

例如,要将邮件列表网关到一个本地新闻组,您可以使用名为 gateit 的 shell 脚本,并设置一个本地别名,该别名使用“|gateit”将来自此邮件列表的所有消息投递到该脚本。

如果调用包含空格,则必须将其括在双引号中。由于涉及安全问题,因此如果地址是以某种可疑的方式获得的(例如,如果从中获取地址的别名文件可被所有人写入),则会注意不执行该命令。




contents
下一主题: 本地用户 上一层: 启动并运行 smail 前一主题: 路径数据库

安德鲁·安德森
1996年3月7日星期四 23:22:06 EST