Pregunta

Tengo un script que se dirige y envía un correo electrónico, pero necesito un cuerpo en el mensaje sin crear un archivo y luego insertar el archivo con la línea de comando MAIL estándar.

¿Cómo puedo hacer eso?

¿Fue útil?

Solución

Suponiendo que el cuerpo que desea crear es algo que puede escribir en SYS $ OUTPUT (por ejemplo, la salida de un procedimiento de comando o comando DCL), entonces puede usar DCL PIPE para canalizar la salida en VMS Mail, como:

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

o

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

El comando PIPE se agregó en OpenVMS V7.1. Si de alguna manera está en un sistema anterior a 7.1, entonces su única opción es escribir en un archivo temporal y limpiar.

Editar: para responder al comentario, si desea eliminar las pantallas interactivas del comando Correo, puede redirigir SYS $ OUTPUT a NLA0 :, como en:

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

Los mensajes de error van a SYS $ ERROR, por lo que aún verá fallas. Vea TUBO DE AYUDA para más bondad.

Otros consejos

Haga que el script cree un archivo temporal para contener el cuerpo del mensaje.

Mail aceptará un archivo de texto en la línea de comando, como la lista de usuarios y el / subj

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top