- 论坛徽章:
- 0
|
几天前刚写的一个。
#!/usr/bin/perl
use strict;
use warnings;
use Net::SMTP;
if($#ARGV < 2) {
print "$#ARGV\n";
print "Usage: $0 <Subject> <MailFrom> <MailTo> [MailContentFile]>\n";
print "--------------------Sample---------------------------------\n";
print "$0 \"Results\" \"xxx\@mail.xxx.com\" \"xxx\@mail.xxx.com,abc\@mail.xxx.com\" \"status.out\"\n";
print "cat status.out | grep -v OK | $0 \"Results\" \"xxx\@mail.xxx.com\" \"xxx\@mail.xxx.com,abc\@mail.xxx.com\"\n";
print "\n";
exit 0;
}
my($subject, $mailfrom, $mailto_str, $content_file) = @ARGV;
print("subject=",$subject,"\n"
print("mailfrom=",$mailfrom,"\n"
print("subject=",$mailto_str,"\n"
shift(@ARGV); shift(@ARGV); shift(@ARGV);
my $text = "";
my $line = "";
while ($line = <> {
$text=$text.$line;
}
print($text,"\n",);
my $mailhost='smtp.mail.xxx.com';
my $mailcc='xxx/@mail.xxx.com';
my @mailto = split (/,/, $mailto_str);
my $smtp=Net::SMTP->new($mailhost, Timeout=>120, Debug=>1) or die "Error.\n";
$smtp->mail($mailfrom);
$smtp->recipient(@mailto);
#$smtp->to($mailto);
$smtp->cc($mailcc);
$smtp->data();
$smtp->datasend("To: $mailto_str\n"
$smtp->datasend("Cc: $mailcc\n"
$smtp->datasend("Frommailfrom\n"
$smtp->datasend("Subject: $subject\n"
$smtp->datasend("\n"
$smtp->datasend("$text\n\n"
$smtp->dataend();
$smtp->quit;
刚学习perl不久,代码比较简陋,呵呵。 |
|