发送email

发送email

use Net::SMTP;
$hostname = `hostname`; chomp ($hostname);
$hostname = uc($hostname);
$total=20974428160;
$free=11568615424;
$used = $total - $free;
$used_limit = ($used/$total) * 100;
$used_limit = int($used_limit + .5);
#print $used_limit."\n" ;
my $subject = localtime();;
my $sender = "EEMS_Sgp_MIS_Testsys_Grp\@eems.com";
my $subject = localtime() . ": $hostname Hard disk space is critical. Capacity is at $used_limit%";      #Wed Jan 16 10:38:44 2008
$recipient[0] = "pu.xh\@eems.com";
$recipient[1] = "pu.xh\@eems.com";

$smtp= Net::SMTP->new('172.19.101.5');        # connect to an SMTP server
$smtp->mail($sender);                        # use the sender's address here
$smtp->to($recipient);                        # recipient's address
$smtp->data();                                # Start the mail

# Send the header.
$smtp->datasend("To: $recipient\n");
$smtp->datasend("From: $sender\n");
$smtp->datasend("Subject: $subject\n");
$smtp->datasend("\n");

# Send the body.
#$smtp->datasend("Hello, World!\n");
$smtp->dataend();                        # Finish sending the mail
$smtp->quit;                        # Close the SMTP connection
我将文件保存1.pl
但是运行的该程序结果是:
Can't call method "mail" on an undefined value at D:\1.pl line 18.
怎么没有人回答的啊?下面这边有什么错误
$smtp= Net::SMTP->new('172.19.101.5');        # connect to an SMTP server
$smtp->mail($sender);                        # use the sender's address here
$smtp->to($recipient);                        # recipient's address
$smtp->data();
Net::SMTP->new 创建没有成功。
$smtp->to($recipient);
应该加上 or die;


QUOTE:
原帖由 xp20683 于 2008-1-16 13:08 发表
怎么没有人回答的啊?下面这边有什么错误
$smtp= Net::SMTP->new('172.19.101.5');        # connect to an SMTP server
$smtp->mail($sender);                        # use the sender's address here
$sm ...

连不上smtp server?
172.19.101.5  port :25 你确定可以连得上..
$smtp = Net::SMTP->new('172.19.101.5') or die "error";是这个有问题,没有创建成功,
我自己的outlook就是使用172.19.101.5,但是在本机上运行这个程序就不成功,怎么解决这个问题啊
我很急啊?


QUOTE:
原帖由 xp20683 于 2008-1-16 13:39 发表
$smtp = Net::SMTP->new('172.19.101.5') or die "error";是这个有问题,没有创建成功,
我自己的outlook就是使用172.19.101.5,但是在本机上运行这个程序就不成功,怎么解决这个问题啊

or die "error $@"
看看发生什麽问题了..然後对症下药
就是new 没有成功,怎么解决这个问题啊