我有一个脚本可以处理和发送电子邮件,但我需要在消息中创建一个正文而不创建文件,然后使用标准的MAIL命令行插入文件。
我该怎么做?
答案 0 :(得分:2)
假设您要创建的主体是可以写入SYS $ OUTPUT的内容(例如命令过程或DCL命令的输出),那么您可以使用DCL PIPE将输出通过管道传输到VMS Mail,如:
$ 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,因此您仍会看到任何失败。请参阅HELP PIPE以获得更多优惠。
答案 1 :(得分:0)
让脚本创建一个临时文件来保存邮件正文。
Mail将在命令行上接受文本文件,例如用户列表和/ subj