لماذا لا يمكنني تنشيط إخراج uuencode إلى mailx في بيان One Perl Open؟
-
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 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.
لا تنتمي إلى StackOverflow