文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>使用net::smtp 邮件通知用户登录

使用net::smtp 邮件通知用户登录

时间:2010-09-26  来源:ly_cyz

用户登录时,Bash 首先执行全局登录脚本(由 root 建立) /etc/profile,然后在用户起始目录下依次寻找 .bash_profile、.bash_login、.profile 三个文件,执行最先找到的一个。可以用这种办法像 Netware 一样为不同的用户定制运行环境。
此外,用户退出登录时还可以运行 .bash_logout 脚本。
    #!/usr/bin/perl
use strict;
my $user=`whoami`;
use Net::SMTP;
my $ipaddress;
my $time;
open(FH,"w|");
foreach my $data (<FH>){
   if(!($data=~/days/)){
         if(!($data=~/USER/)){
         my(@arr)=split " ",$data;
          if($user==$arr[0]){
                  $ipaddress=$arr[2];
                  $time=$arr[3];
           }
           }
    }
}
close FH;
my $mailhost='127.0.0.1';
        my $mailfrom='[email protected]';
        my $host=`hostname`;
        my @mailto = ('[email protected]', '[email protected]','[email protected]');
        my $subject="Who login!";
        foreach my $mailto (@mailto) {
                my $smtp = Net::SMTP->new($mailhost,Hello =>"localhost",Timeout => 30,Debug => 0,);
                $smtp->mail($mailfrom);
                $smtp->to($mailto);
                $smtp->data();
                $smtp->datasend("To: $mailto\n");
                $smtp->datasend("From: $mailfrom\n");
                $smtp->datasend("Subject: $subject\n");
                $smtp->datasend("\n");
                $smtp->datasend("$host\n $user login $ipaddress at $time\n");
                $smtp->dataend();
                $smtp->quit;
}
    注:本文根据网络文章修改而成。
相关阅读 更多 +
排行榜 更多 +
美团专

美团专

生活实用 下载
富士打印

富士打印

系统软件 下载
tt

tt

系统软件 下载