Frage

Hier ist mein Code, der nicht funktioniert:

print "To: ";  my $to=<>;  chomp $to;
print "From: ";  my $from=<>;  chomp $from;
print "Attach: "; my $attach=<>; chomp $attach;
print "Subject: "; my $subject=<>; chomp $subject;
print "Message: "; my $message=<>; chomp $message;

my $mail_fh = \*MAIL;
open $mail_fh, "uuencode $attach $attach |mailx -m -s \"$subject\" -r $from $to";
print $mail_fh $message;
close($mail_fh);

Der mailx Befehl funktioniert gut aus der Kommandozeile, aber nicht in diesem Perl-Skript Kontext.

Jede Idee, was ich fehle?


Ich vermute, dass diese Linie des Format / Syntax:

open $mail_fh, "uuencode $attach $attach |mailx -m -s \"$subject\" -r $from $to";

ist der Schuldige.

War es hilfreich?

Lösung

Sie müssen nur eine zusätzliche | am Anfang:

open $mail_fh, "|uuencode $attach $attach |mailx -m -s \"$subject\" -r $from $to"; 

Andere Tipps

Wollen Sie wirklich externe Programme verwenden, entweder für die uuencode oder mailx Bit? UUencode ist fast trivial mit packen .

Es gibt auch andere Möglichkeiten, E-Mail zu senden. Sehen Sie sich die Wie kann ich Mail senden? in perlfaq9 .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top