Как я могу создать текст письма виртуальной машины?
Вопрос
У меня есть скрипт, который адресует и отправляет электронное письмо, но мне нужно тело сообщения без создания файла а затем вставьте файл с помощью стандартной командной строки MAIL.
Как я могу это сделать?
Решение
Предполагая, что тело, которое вы хотите создать, - это то, что вы можете записать в SYS$OUTPUT (напримервывод командной процедуры или команды DCL), затем вы можете использовать канал DCL для передачи выходных данных в 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"
Команда PIPE была добавлена в OpenVMS версии 7.1.Если вы каким-то образом используете систему до версии 7.1, то ваш единственный выбор - это запись во временный файл и очистка.
Редактировать:Чтобы ответить на комментарий, если вы хотите исключить интерактивные отображения из команды Mail, вы можете перенаправить SYS$OUTPUT на NLA0:, как в:
$ PIPE DIR *.LOG | MAIL SYS$INPUT smith/SUBJ="Piping in DCL" > NLA0:
Сообщения об ошибках отправляются в SYS$ERROR, так что вы по-прежнему будете видеть любые сбои.Смотрите "ТРУБА ПОМОЩИ" для получения дополнительной информации.
Другие советы
Пусть сценарий создаст временный файл для хранения тела сообщения.
Почта будет принимать текстовый файл в командной строке, например список пользователей и / subj