我要投稿
  • 您当前的位置:365bet官方 -> 技术教程 -> 服务器网络 -> 服务器教程 -> 邮件服务器教程 -> 教程内容
  • [ 收藏本页教程 ]
  • 偶写的Qmail邮箱申请php程序,要vpopmail支持。邮件服务器教程

    教程作者:佚名    教程来源:不详   教程栏目:邮件服务器教程    收藏本页
                  摘要:偶写的Qmail邮箱申请php程序,要vpopmail支持。
    偶装vqsingup很失败,所以花一个晚上研究html和php(这两个偶都不懂,惭愧ing),写了这个小程序,希望高手帮忙改改。谢谢。
    程序由2部分组成,singup.php和submit.php
    [color=red:590bd6f809]singup.php:[/color:590bd6f809]
    [color=blue:590bd6f809]<html>

    <head>
      <title></title>
    </head>

    <body>

    <?php
    $name = $HTTP_POST_VARS['yourname'];
    $passwd1 = $HTTP_POST_VARS['passwd1'];
    $passwd = $HTTP_POST_VARS['passwd2'];

    ?>
         <h4>用户名请用3-8位数,不能用中文!</h4>
       <form action=/submit.php method=POST>
    用 户 名:
    <input type=text name=yourname ><br>
    您的密码:
    <input type=password name=passwd1 ><br>
    重复密码:
    <input type=password name=passwd2 ><br>
    <input type=submit value="确定"><input type=reset value="重设">
    </form>


    </body>

    </html>[/color:590bd6f809]

    [color=red:590bd6f809]submit.php:[/color:590bd6f809]
    [color=blue:590bd6f809]<html>

    <head>
      <title></title>
    </head>

    <body>

    <?php

     $name   = $HTTP_POST_VARS['yourname'];
     $passwd1 = $HTTP_POST_VARS['passwd1'];
     $passwd2 = $HTTP_POST_VARS['passwd2'];

     if($passwd1 == $passwd2)
      {
        $user="$name@yourdomain.com";
        $a=exec ("/home/vpopmail/bin/vadduser $user $passwd1");
         if($a==NULL){echo ("恭喜申请成功!"); } else {echo $a;}
      }else
      {
       echo "密码输入错误!";
      }

    ?>
          <p> <a href='/html/jishu511524568index.php.html'>登录邮箱</a> </p>
             <a href='/html/jishu511524568singup.php.html'>重新注册</a>
    </body>

    </html>[/color:590bd6f809]


    修改submit.php的yourdomain.com为你的域名,修改vadduser路径。这2个文件放在同一个目录

     laixi781211 回复于:2003-05-24 08:27:33收集

     lcycc1 回复于:2003-05-24 08:42:35运行里要root权限,怎么办???

     haohaoo 回复于:2003-05-24 08:51:59不用啊,好象vpopmail这个用户的权限就行了

     lcycc1 回复于:2003-05-24 09:16:26还得改进一下

     xmy 回复于:2003-05-24 09:19:24对,只要有vpopmail的权限就可以了,

     xmy 回复于:2003-05-24 09:23:51apache 的user、Group必须是vpopmail和vchkpw,而且:
    chown vpopmail:vchkpw singup.php
    chown vpopmail:vchkpw submit.php
    这样应该没问题。

     xmy 回复于:2003-05-24 09:24:44[quote:4488c54549="lcycc1"]还得改进一下[/quote:4488c54549]

    大哥,帮我改改啊

     garfy 回复于:2003-05-24 11:30:09支持原创,建议加精!

     gadfly 回复于:2003-05-24 18:38:25好呀,支持原创。

    欢迎改进!

     MAXidea 回复于:2003-05-25 10:39:02[quote:81c77d8135="xmy"]
    $a=exec ("/home/vpopmail/bin/vadduser $user $passwd1"); [/quote:81c77d8135]

    您的思路是对的,但是问题有:

    1、您的PHP在本地主机执行才有效:/home/vpopmail/bin/vadduser该路径只能在本地主机上操作有效。在httpd中,即用户通过Web访问您的PHP文件时,他是没法访问/home/vpopmail/bin/vadduser。

    2、$user="$name@yourdomain.com"; 应改为:
    $user=$name."@yourdomain.com"; 

    3、假若问题1不存在,但由于Web用户能调用vpopmail的权限,极易造成系统漏洞。

     xmy 回复于:2003-05-25 12:31:06谢谢楼上GG,关于第一点,偶还是看不太明白,偶在别的电脑上可以正常增加用户啊,第二点,偶回去改(虽然可以用),关于第三点,改怎么做才安全?

     大麻 回复于:2003-05-25 12:58:55  问题不大,可以这样做。但是如果你是用的 mysql 做数据库,除了调用 vadduser 增加用户外,建议再用 mysql 查询一下该用户的建立成功与否则更好。

     xmy 回复于:2003-05-25 15:52:47谢谢大麻GG,偶慢慢看php知识,增加一个用 mysql 查询一下该用户的建立成功与否。

     hamas 回复于:2003-05-27 15:42:39把你的阿帕奇的默认启动用户改成vpopmail就可以了。

    另外给你一个终极解决方案,使用php的vpopmail_add_user函数

    vpopmail_add_user ( string 用户名, string 域名, string 口令 [, string 磁盘配额 [, bool apop]])

    php中专门有一套vpopmail函数库

    至于添加邮件域的问题,就比较麻烦,因为qmail对权限的要求相当严格!

     xmy 回复于:2003-05-27 16:01:45谢谢楼上的GG,偶看PHP 4完全中文手册写Dphp程序,在上面没有看到有vpopmail函数,所以不知道,谢谢GG提醒

     haohaoo 回复于:2003-05-27 18:29:20[quote:92cd10dde9="xmy"]谢谢楼上的GG,偶看PHP 4完全中文手册写Dphp程序,在上面没有看到有vpopmail函数,所以不知道,谢谢GG提醒[/quote:92cd10dde9]
    要安装vpopmail,才有这个函数

     MAXidea 回复于:2003-05-27 19:01:51[quote:cb22e78abb="hamas"]pop]])

    php中专门有一套vpopmail函数库

    至于添加邮件域的问题,就比较麻烦,因为qmail对权限的要求相当严格![/quote:cb22e78abb]

    赞同!

     fishwork 回复于:2003-05-27 19:19:03也就是说装了vpopmail就能使用这些函数吗?

     yelagon 回复于:2003-05-28 11:34:06[quote:bd18f340b7="xmy"]


    修改submit.php的yourdomain.com为你的域名,修改vadduser路径。这2个文件放在同一个目录[/quote:bd18f340b7]     


    建议用下面的方法简单有效:
    use vpopmail;
    insert into vpopmail ( pw_name, pw_domain ) values ( 'yelagon', 'test.com' );

    数据库中插入用户后,当用户pop验证或有email发至该帐号时vpopmail 会自动创建该帐号。

     xmy 回复于:2003-05-28 14:40:15thx  偶改程序试试

     hErO_mortal 回复于:2003-05-28 17:59:48用sudo,不过安全性嘛。。。
    php不适合来写mailserver前端

     hjp0021 回复于:2003-05-29 14:30:41password在mysql中是用:password函数加密的啊,可以直接插入吗?

     xmy 回复于:2003-05-29 16:13:38好像不是加密,可以

     yuantong 回复于:2003-05-30 08:25:29请问xmy老大,如何修改igenus的login.php

    把你的singup.php显示在首页呢?可以让用户自行申请邮箱.

    小弟是对PHP没有学过,请老大详细指点一下.

     blueriver 回复于:2003-05-30 09:34:00login.php里面不是有个<html> ...</html>段吗

    恰当的地方加上个<a href="http://域名/signup.php" >注册</a>
    当然连接取决于你的singup.php的位置

     xmy 回复于:2003-05-30 09:49:28偶的php login,记得修改。
    http://202.103.179.27/xmy/login3.php

     yuantong 回复于:2003-05-30 10:09:10老大,在页面出现很多错误啊

    你可不可以告诉我修改login.php那里可以加入申请邮箱这个php

     yuantong 回复于:2003-05-30 10:14:19老大,在页面出现很多错误啊

    你可不可以告诉我修改login.php那里可以加入申请邮箱这个php

     xmy 回复于:2003-05-30 14:37:21没注意,出了不少错误,更新了,重下一次吧,对比一下就知道哪里要改了。

     yf666 回复于:2003-11-29 09:10:37我小弟想问一下,我们有自己的虚拟主机,一直想做个邮件箱申 请,不知这
    我要投稿   -   广告合作   -   关于本站   -   友情连接   -   网站地图   -   联系我们   -   版权声明   -   设为首页   -   加入收藏   -   网站留言
    Copyright © 2009 - 20012 www.www.ct131.com All Rights Reserved.365bet官方 版权所有