Wie kann ich Skript der Körper eines VMS Mail?
Frage
Ich habe ein Skript, das Adresse und sendet eine E-Mail, aber ich brauche einen Körper in der Meldung ohne das Erstellen eine Datei und dann mit der Standard-MAIL Kommandozeile die Datei eingefügt wird.
Wie kann ich das tun?
Lösung
der Körper Sie wollen Unter der Annahme, etwas zu schaffen, ist Sie SYS $ OUTPUT schreiben kannst (zB die Ausgabe einer Befehlsprozedur oder DCL-Befehl), dann können Sie DCL Rohr zu Rohr verwenden, um die Ausgabe in VMS Post, wie:
$ PIPE write sys$output "The date is ", f$cvtime() | MAIL SYS$INPUT smith/SUBJ="Piping in DCL"
oder
$ PIPE DIR *.LOG | MAIL SYS$INPUT smith/SUBJ="Piping in DCL"
Der PIPE-Befehl wurde in OpenVMS V7.1 hinzugefügt. Wenn Sie irgendwie auf einem Pre-7.1-System, dann die einzige Wahl in eine temporäre Datei schreibt und Reinigung.
Edit:
: Kommentar beantworten, wenn Sie die interaktive Displays aus dem Mail-Befehl beseitigen möchten, können Sie SYS $ OUTPUT zu NLA0 :, wie in umleiten$ PIPE DIR *.LOG | MAIL SYS$INPUT smith/SUBJ="Piping in DCL" > NLA0:
Fehlermeldungen gehen an SYS $ ERROR, so dass Sie immer noch alle Fehler sehen. Siehe HELP PIPE für mehr Güte.
Andere Tipps
Haben Sie das Skript eine temporäre Datei erstellen Sie den Text der Nachricht zu halten.
E-Mail wird eine Textdatei auf der Kommandozeile, wie die Liste der Benutzer und die / subj
akzeptieren