Verwenden Sie sendmail ohne Standardeingabe

1

Ich möchte sendmaileine E-Mail von meiner Backup-Software auf Kubuntu Linux senden. Die Software erlaubt jedoch nicht die Eingabe einer vollständigen Befehlszeile (nur Befehlsname und Argumentmuster getrennt). Aus diesem Grund kann ich den E-Mail-Text nicht an sendmaildie Standardeingabe übergeben.

Gibt es eine Möglichkeit, sendmailohne Standardeingabe anzurufen ? ZB den Nachrichtentext per Kommandozeilenparameter übergeben (oder gar keinen Text übergeben)?

Silicomancer
quelle
Sie können stdin wahrscheinlich dazu bringen, auf diese Weise "zu arbeiten": indem Sie eine Shell mit den Umleitungen innerhalb des Arguments sh -c 'sendmail -oi -t < file.eml'
erzeugen

Antworten:

1

Sicher, schreiben Sie ein Shellscript, das dies tut.

#!/bin/sh
sendmail -i "[email protected]" <<EOF
Date: ...
From: ...
To: ...
Subject: ...
Content-Type: text/plain; charset=utf-8

Yo, stuff happened ($*).
EOF

Es ist jedoch möglicherweise besser, mailalle Header (auch bekannt als Mail, Mailx oder S-Nail) von Hand zu erstellen.

Grawity
quelle
Das Skript ist eine interessante Idee. Die Verwendung eines alternativen E-Mail-Programms scheint jedoch die bessere Lösung zu sein. "sendemail" wirkt für mich wie ein Zauber.
Silicomancer