#!/usr/bin/perl
#use strict;
use DBI;
use HTTP::Date qw(time2iso str2time time2iso time2isoz);
use Net::SMTP;
sub send_mail{
if (@_ != 2){print \"请输入2个参数\\n\";exit 1};
($m,$n) = @_; #将参数赋值给变量
my $to_address = $m;
my $CurrTime = time2iso(time());
my $to_address = $m;
my $mail_user = \'zhaoyangjian@zjcap.cn\';
my $mail_pwd = \'xxxxxx\';
my $mail_server = \'smtp.exmail.qq.com\';
my $from = \"From: $mail_user\\n\";
my $subject = \"Subject: zjcap info\\n\";
my $info = \"$CurrTime--$n\";
my $message = <<CONTENT;
$info
CONTENT
my $smtp = Net::SMTP->new($mail_server);
$smtp->auth($mail_user, $mail_pwd) || die \"Auth Error! $!\";
$smtp->mail($mail_user);
$smtp->to($to_address);
$smtp->data(); # begin the data
$smtp->datasend($from); # set user
$smtp->datasend($subject); # set subject
$smtp->datasend(\"\\n\\n\");
$smtp->datasend(\"$message\\n\"); # set content
$smtp->dataend();
$smtp->quit();
}
my $dbName = \'oadb\';
my $dbUser = \'query\';
my $dbUserPass = \'query\';
my $dbh = DBI->connect(\"dbi:Oracle:$dbName\", $dbUser, $dbUserPass) or die \"can\'t connect to database \";
my $sql = \"select count(*) from VXSPACE.FORMMAIN_1530\";
my $sth = $dbh->prepare($sql);
$sth->execute();
my $var = $sth->fetchrow_array();
print \"\\$var is $var\\n\";
##读取上一次文件
#
open( A, \"<\", \"count.txt\" );
while (<A>) {
$count = $_;
};
print \"上次记录的记录数为$count\\n\";
###最新的文件记录数 写入count.txt
open( B, \">\", \"count.txt\" );
print B (\"$var\\n\");
if ( defined($count) && $var != $count && $var !=0 ){
print \"开始处理\\n\";
my $sql = \"select start_date,field0001 from (select * from vxspace.FORMMAIN_1530 a order by 4 desc) where rownum <2\";
my $sth = $dbh->prepare($sql);
$sth->execute();
while (my @arr = $sth->fetchrow_array()){
print \"@arr\\n\";send_mail(\'zhaoyangjian@zjcap.cn\',\"@arr\\n\")
}
}
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

