なぜパイプのuuencodeの出力は、単一のPerlのopen文でのmailxすることはできませんか?
-
22-09-2019 - |
質問
はここで働いていない私のコードです:
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);
mailxコマンドは、コマンドラインから外れ罰金の作品ではなく、このPerlスクリプトコンテキストでます。
私が欠けているものを任意のアイデア?
タグ:私は、この行のフォーマット/構文と思われます
open $mail_fh, "uuencode $attach $attach |mailx -m -s \"$subject\" -r $from $to";
犯人です。
解決
あなただけの先頭に余分な|
を必要とします:
open $mail_fh, "|uuencode $attach $attach |mailx -m -s \"$subject\" -r $from $to";
他のヒント
あなたは本当にUUENCODEまたはmailxのビットのいずれかのために、外部バイナリを使用しますか? UUencodeとはパックするます。
とほぼ自明ですメールを送信する方法は他にもあります。 私がメールを送信するにはどうすればよい?のを参照してください。で perlfaq9するます。
所属していません StackOverflow