0

我有一个用于处理和发送电子邮件的脚本,但我需要消息中的正文而不创建文件,然后使用标准 MAIL 命令行插入文件。

我怎样才能做到这一点?

4

2 回答 2

2

假设您要创建的正文是您可以写入 SYS$OUTPUT 的内容(例如命令过程或 DCL 命令的输出),那么您可以使用 DCL PIPE 将输出通过管道传输到 VMS 邮件中,例如:

$ PIPE write sys$output "The date is ", f$cvtime() | MAIL SYS$INPUT smith/SUBJ="Piping in DCL"

或者

$ PIPE DIR *.LOG | MAIL SYS$INPUT smith/SUBJ="Piping in DCL"

在 OpenVMS V7.1 中添加了 PIPE 命令。如果您使用的是 7.1 之前的系统,那么您唯一的选择就是写入临时文件并进行清理。

编辑:要回答评论,如果您想消除 Mail 命令中的交互式显示,您可以将 SYS$OUTPUT 重定向到 NLA0:,如下所示:

$ PIPE DIR *.LOG |  MAIL SYS$INPUT smith/SUBJ="Piping in DCL" > NLA0:

错误消息转到 SYS$ERROR,因此您仍然会看到任何失败。请参阅帮助管道以获得更多好处。

于 2009-01-13T19:29:19.837 回答
0

让脚本创建一个临时文件来保存消息的正文。

邮件将接受命令行上的文本文件,例如用户列表和 /subj

于 2009-01-13T18:14:09.910 回答