| 订阅 | 在线投稿
分享
 
 
当前位置: 王朝网络 >> perl >> web界面添加email的Perl程序不完整版
 

web界面添加email的Perl程序不完整版

2008-05-31 00:04:58 编辑來源:互联网 繁體版 评论
 
 
  ############################

  #说明:web界面添加email的Perl程序不完整版

  #名称:webadmin.cgi

  #系统环境:Freebsd、Mod_Perl、MySQL、Apache、Apache::DBI、PostFix 2.x、igenus for postfix 1.0

  #作者:邱雄盛

  #QQ:2263537

  #MSN:sunboydavid#hotmail.com

  #SkyPe:haoqiu

  #时间:2005年5月26日

  ############################

  #!/usr/bin/perl

  use lib 'libs/';

  use strict;

  use CGI::Carp qw(fatalsToBrowser);

  use CGI;

  use Apache::DBI;

  use IMail;

  # Get CGI parameters

  my $cgi = new CGI;

  my $mail = $cgi-param('mail');

  my $password = $cgi-param('password');

  my $realname = $cgi-param('realname');

  my ($username,$domain)=split(/\@/,$mail);

  unless($domain){

   print "Content-Type: text/html\n\n";

   print qq~

  邮件系统管理

  添加邮件用户

  Email地址:

  密码:

  真实姓名:

   ~;

   exit;

  }

  # 数据分析

  $mail or die "邮箱没填哦.\n\n";

  $password or die "密码没填哦.\n\n";

  $realname or die "真实姓名没填哦.\n\n";

  # 连接数据库

  my $dbh = connectDb();

  # 添加用户

  my $uid=125;

  my $gid=125;

  my $home="/var/mail";

  my $size=10240000;

  # 查询已有域

  my $query = "SELECT COUNT(*) FROM transport WHERE domain = ?";

  my $sth = $dbh-prepare_cached($query);

  $sth-execute($domain) or dbError();

  my $count=$sth-fetchrow_arrayref-[0];

  $sth-finish;

  unless ($count){

   # 添加域

   my $query = "INSERT INTO transport SET domain=?,transport=?";

   my $sth = $dbh-prepare_cached($query);

   $sth-execute($domain,'virtual:') or die"'数据库操作错误,域未添加成功.\n\n";

   $sth-finish;

  }

  my $query = "INSERT INTO virtual_users SET email=?,password=?,uid=?,gid=?,home=?,maildir=?,regtime=NOW(),domain=?,username=?,quota=?";

  my $sth = $dbh-prepare_cached($query);

  $sth-execute($mail,$password,$uid,$gid,"$home/","$domain/$username/Maildir/",$domain,$realname,$size) or die"'数据库操作错误,用户未添加成功.\n\n";

  $sth-finish;

  # 域

  if (! -e "$home/$domain") {

   mkdir("$home/$domain", "0700");

   `chmod 700 $home/$domain`;

  }

  # 用户

  if (! -e "$home/$domain/$username") {

   mkdir("$home/$domain/$username", "0700");

   `chmod 700 $home/$domain/$username`;

  }

  # Maildir

  if (! -e "$home/$domain/$username/Maildir") {

   mkdir("$home/$domain/$username/Maildir", "0700");

   `chmod 700 $home/$domain/$username/Maildir`;

  }

  # cur

  if (! -e "$home/$domain/$username/Maildir/cur") {

   mkdir("$home/$domain/$username/Maildir/cur", "0700");

   `chmod 700 $home/$domain/$username/Maildir/cur`;

  }

  # tmp

  if (! -e "$home/$domain/$username/Maildir/tmp") {

   mkdir("$home/$domain/$username/Maildir/tmp", "0700");

   `chmod 700 $home/$domain/$username/Maildir/tmp`;

  }

  # new

  if (! -e "$home/$domain/$username/Maildir/new") {

   mkdir("$home/$domain/$username/Maildir/new", "0700");

   `chmod 700 $home/$domain/$username/Maildir/new`;

  }

  chown ($uid, $gid, "$home/$domain") or warn "couldn't chown $home/$domain";

  # 页面跳转

  print $cgi-header(-location="mail_admin.cgi");

  #End
 
 
 
 
上一篇《基于Sendmail和Perl的邮件附件过滤系统》
下一篇《Mailing List (邮件列表)原理简述及我的perl实现》
 
 
 
 
 
 
 
 
 
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

如何磨出破洞牛仔裤?牛仔裤怎么剪破洞?

把牛仔裤磨出有线的破洞 1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...

我就是扫描下图得到了敬业福和爱国福

先来看下敬业福和爱国福 今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。 今天该活动正式启动,和去年一样,需要收集“五福”...

冰箱异味产生的原因和臭味去除的方法

有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。 1、很多人有这种习...

 
 
 
############################ #说明:web界面添加email的Perl程序不完整版 #名称:webadmin.cgi #系统环境:Freebsd、Mod_Perl、MySQL、Apache、Apache::DBI、PostFix 2.x、igenus for postfix 1.0 #作者:邱雄盛 #QQ:2263537 #MSN:sunboydavid#hotmail.com #SkyPe:haoqiu #时间:2005年5月26日 ############################ #!/usr/bin/perl use lib 'libs/'; use strict; use CGI::Carp qw(fatalsToBrowser); use CGI; use Apache::DBI; use IMail; # Get CGI parameters my $cgi = new CGI; my $mail = $cgi-param('mail'); my $password = $cgi-param('password'); my $realname = $cgi-param('realname'); my ($username,$domain)=split(/\@/,$mail); unless($domain){ print "Content-Type: text/html\n\n"; print qq~ 邮件系统管理 添加邮件用户 Email地址: 密码: 真实姓名: ~; exit; } # 数据分析 $mail or die "邮箱没填哦.\n\n"; $password or die "密码没填哦.\n\n"; $realname or die "真实姓名没填哦.\n\n"; # 连接数据库 my $dbh = connectDb(); # 添加用户 my $uid=125; my $gid=125; my $home="/var/mail"; my $size=10240000; # 查询已有域 my $query = "SELECT COUNT(*) FROM transport WHERE domain = ?"; my $sth = $dbh-prepare_cached($query); $sth-execute($domain) or dbError(); my $count=$sth-fetchrow_arrayref-[0]; $sth-finish; unless ($count){ # 添加域 my $query = "INSERT INTO transport SET domain=?,transport=?"; my $sth = $dbh-prepare_cached($query); $sth-execute($domain,'virtual:') or die"'数据库操作错误,域未添加成功.\n\n"; $sth-finish; } my $query = "INSERT INTO virtual_users SET email=?,password=?,uid=?,gid=?,home=?,maildir=?,regtime=NOW(),domain=?,username=?,quota=?"; my $sth = $dbh-prepare_cached($query); $sth-execute($mail,$password,$uid,$gid,"$home/","$domain/$username/Maildir/",$domain,$realname,$size) or die"'数据库操作错误,用户未添加成功.\n\n"; $sth-finish; # 域 if (! -e "$home/$domain") { mkdir("$home/$domain", "0700"); `chmod 700 $home/$domain`; } # 用户 if (! -e "$home/$domain/$username") { mkdir("$home/$domain/$username", "0700"); `chmod 700 $home/$domain/$username`; } # Maildir if (! -e "$home/$domain/$username/Maildir") { mkdir("$home/$domain/$username/Maildir", "0700"); `chmod 700 $home/$domain/$username/Maildir`; } # cur if (! -e "$home/$domain/$username/Maildir/cur") { mkdir("$home/$domain/$username/Maildir/cur", "0700"); `chmod 700 $home/$domain/$username/Maildir/cur`; } # tmp if (! -e "$home/$domain/$username/Maildir/tmp") { mkdir("$home/$domain/$username/Maildir/tmp", "0700"); `chmod 700 $home/$domain/$username/Maildir/tmp`; } # new if (! -e "$home/$domain/$username/Maildir/new") { mkdir("$home/$domain/$username/Maildir/new", "0700"); `chmod 700 $home/$domain/$username/Maildir/new`; } chown ($uid, $gid, "$home/$domain") or warn "couldn't chown $home/$domain"; # 页面跳转 print $cgi-header(-location="mail_admin.cgi"); #End
󰈣󰈤
 
 
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
追忆.绯红色的审判
新竹的果子风
热裤女孩
凯宾斯基酒店随拍
金色草原
菜园小品
情人谷
广东惠州—巽寮湾的海景
 
>>返回首页<<
 为你推荐
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 热帖排行
 
 
 
 
©2005- 王朝网络 版权所有