There are multiple ways to send mail from perl script. I think this code
will help.
----------------------------------------
open(ML,"|mail -s \"Subject of mesaages should be here\" [EMAIL PROTECTED]")
or die " Can't open mail handle: $!";
print ML $_ ;
close(ML);
----------------------------------------
Or
----------------------------------------
open (SENDMAIL, "|/usr/sbin/sendmail") || die "ERROR: Can not run
sendmail";
print SENDMAIL "MIME-Version: 1.0\n";
print SENDMAIL "Content-Type: text/plain; charset=\"utf-8\"\n";
print SENDMAIL "Content-Transfer-Encoding: 8bit\n";
print SENDMAIL "To: [EMAIL PROTECTED]";
print SENDMAIL "From: [EMAIL PROTECTED]";
print SENDMAIL "Subject: Sunbject should be here\n\n";
print SENDMAIL $_ ;
close (SENDMAIL);
----------------------------------------
--
С уважением,
Бхабха Мандип Сингх
ЗАО "РАМАКС Интернейшнл"
+7(812)327-86-49
[EMAIL PROTECTED]
-----Original Message-----
From: joseph [mailto:[EMAIL PROTECTED]
Sent: Friday, June 02, 2006 6:15 AM
To: [email protected]
Subject: Sendmail mail from script
List,
Good day!
I'm trying to rewrite a bash script into perl as to aid my learning
experience.Supposedly this script would do these things;
1. Open the logfiles.
2. Check the last portion of files.
3. Check the log for an ERROR string.
4. If error is present mail.(I'm stuck here i dunno how to do it.)
I already peeking at this
http://perldoc.perl.org/perlfaq9.html#How-do-I-send-mail%3F but i can figure
out how to do it without the <<EOF portion i'd like instead that value of
$_ will be the body portion of mail.
Below is my code, kindly bear for any ineffecient code feedback and
correction are very much appreciated.
#!/bin/perl
use strict;
use warnings;
$/ = "\n";
open(FILE,"/home/teragram/status_log.txt") or die "can't open file $!\n";
my @line;
while (<FILE>) {
push @line, $_;
shift @line if @line > 17;
}
my @mail2log = grep {/^ERROR/ig} @line; #get the line with that starts with
"ERROR"
foreach (@mail2log) {
if ($_ =~ /^ERROR/ig) #since this could always be true i'd like to mail
the value of $_ via Sendmail but how?
{
open(SENDMAIL "|/usr/sbin/sendmail -oi -t -odq")
or die "Can't fork for sendmail: $!\n";
}
}
close FILE;
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>