لماذا لا يمكنني تنشيط إخراج uuencode إلى mailx في بيان One Perl Open؟

StackOverflow https://stackoverflow.com/questions/2519074

سؤال

هذا هو الكود الخاص بي الذي لا يعمل:

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 Script.

أي فكرة عما أفتقده؟


أظن أن تنسيق/بناء الجملة لهذا الخط:

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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top