1

動作していない私のコードは次のとおりです。

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";

犯人です。

4

3 に答える 3

2

uuencodeまたはmailxビットのいずれかに外部バイナリを本当に使用しますか?UUencodeはpackではほとんど簡単です。

于 2010-03-25T23:32:59.047 に答える
2

最初に追加する必要があります|

open $mail_fh, "|uuencode $attach $attach |mailx -m -s \"$subject\" -r $from $to"; 
于 2010-03-25T23:37:21.853 に答える
1

メールを送信する方法は他にもあります。メールを送信するにはどうすればよいですか?を参照してください。perlfaq9で。

于 2010-03-26T03:44:58.010 に答える