У меня есть сценарий Perl, который выводит на экран несколько строк вывода. Мне нужно захватить эти строки и либо передать их в один кусок электронной почты (/ bin/mail), либо в текстовый файл, который я могу отправить почтой/bin в другой операции. На самом деле, я уже выяснил легкий (тупой) способ, с помощью которого я использую оболочку bash для выполнения рассылки. Похоже,Как отправить многострочный вывод из Perl в/bin/mail?
#!/usr/bin/bash
source /nethome/zog/.bash_profile
cd /nethome/zog/bin/perl
/nethome/zog/bin/perl/find_free_space.pl > text.file
/bin/mail -s [email protected] [email protected] < text.file
Я хочу использовать Net :: SMTP, чтобы выполнить бит smtp. Вышеизложенное, по меньшей мере, неэлегантно.
я видел что-то вроде этого:
open(MAIL, "| /bin/mail -s FreePorts me\@geemail.com") ||
die "mail failed: $!\n"; print MAIL "This is how it goes."
на StackOverflow, но не смог перенаправить STDOUT в почту. Я использую:
$complete_output .= "\n"; "|/bin/mail -s FreePorts zog\@geeemail.com" || die "mail failed: $!\n";
Я не уверен, если вы все должны увидеть скрипт на Perl, чтобы помочь, но it is on pastebin. Пожалуйста, дайте мне знать.
Вы пришли довольно близко, см. Http://stackoverflow.com/questions/655719/how-do-i-unalias-from-perls-stdout – msw