本页主题: Windows 2000(NT)下实现pw (2X,3X free)邮件发送 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

wishu
级别: 骑士


精华: 1
发帖: 21
威望: 26 点
金钱: 178 RMB
贡献值: 0 点
好评度: 10 点
在线时间:19(小时)
注册时间:2005-09-05
最后登录:2006-03-05

 Windows 2000(NT)下实现pw (2X,3X free)邮件发送

首先进入PW后台开启邮件发送功能,如果你是NT的(如本系统)就装个下面提供的STMP的插件
上传sendmail.php到论坛require目录覆盖原文件即可(注意:先备份原文件)
[ 此贴被wishu在2005-11-09 19:10重新编辑 ]
附件: Win 2000下邮件发送系统 For PW.rar (3 K) 下载次数:5
本帖最近评分记录:
  • 威望:5(Mike)
  • 财富:20(Mike)
  • 网站建设全方位有偿服务,收费5-100元RMB
    1.PW论坛起步到完善,数据空间转换,插件风格安装等
    2.网站建设从0到成熟,HTML,三剑客,PS,FTP等应用
    3.永久技术支持QQ:7618618
    顶端 Posted: 05-11-09 18:49 | [楼 主]
    Mike
    群熵工程师
    级别: 管理员


    精华: 7
    发帖: 951
    威望: 714 点
    金钱: 6601 RMB
    贡献值: 0 点
    好评度: 611 点
    在线时间:1405(小时)
    注册时间:2003-11-28
    最后登录:2018-04-23

     不大,我直接贴出来了

    /**
    * phpwind2.0邮件增强插件
    * 作   者:马玉辉(http://www.phpwind.net id:bg9cx)
    * 适合版本:phpwind 2.00
    * 最后更新:2004-10-7 11:12
    * 版权所有,严禁用于商业用途!
    */
    1.打开sendmail.php,进行设置
    var $S_method = 1;
    1 使用默认mail函数
    2 通过SOCKET连接SMTP服务器发送(支持 ESMTP 验证)
    3 通过调用CDONTS.NewMail(虚拟SMTP发信)组件发送Email(仅 win32 下有效)
    4 通过调用jmail 组件发送Email(仅 win32 下有效)
    自己选择,然后配制下面的参数(2和4需要设置)
    2.上传sendmail.php到论坛require目录覆盖原文件


    Copy code
    <?php
    !function_exists('readover') && exit('Forbidden');
    /**
    * phpwind2.0邮件增强插件
    * 作   者:马玉辉(http://www.phpwind.net id:bg9cx)
    * 适合版本:phpwind 2.00
    * 最后更新:2004-10-7 11:12
    * 版权所有,严禁用于商业用途!
    */
    Class Mailconfig {
        var $S_method = 1;
        /*邮件发送方式
        1 使用默认mail函数
        2 通过SOCKET连接SMTP服务器发送(支持 ESMTP 验证)
        3 通过调用CDONTS.NewMail(虚拟SMTP发信)组件发送Email(仅 win32 下有效)
        4 通过调用jmail 组件发送Email(仅 win32 下有效)
        自己选择,然后配制下面的参数(2和4需要设置)
        */
        var $smtp;
        function Mailconfig(){
            if($this->S_method==1){
                  //不用设置
            }elseif($this->S_method==2){
                  $this->smtp['host'] = 'smtp.163.com';// SMTP 服务器
                  $this->smtp['port'] = '25';               // SMTP 端口, 默认不需修改
                  $this->smtp['auth'] = 1;                   // 是否需要 AUTH LOGIN 验证, 1=是, 0=否
                  $this->smtp['from'] = 'mayuhui@163.com';     // 发信人地址 (如果需要验证,必须为本服务器地址)
                  $this->smtp['user'] = 'mayuhui';         // 验证用户名
                  $this->smtp['pass'] = 'xxxxxx';         // 验证密码
            }elseif($this->S_method==3){
                  //不用设置
            }elseif($this->S_method==4){
                  $this->smtp['host'] = 'smtp.163.com';// SMTP 服务器
                  $this->smtp['port'] = '25';               // SMTP 端口, 默认不需修改
                  $this->smtp['auth'] = 1;                   // 是否需要 AUTH LOGIN 验证, 1=是, 0=否
                  $this->smtp['from'] = 'mayuhui@163.com';     // 发信人地址 (如果需要验证,必须为本服务器地址)
                  $this->smtp['user'] = 'mayuhui';         // 验证用户名
                  $this->smtp['pass'] = 'xxxxxx';         // 验证密码
            }else{
                  //hacker
            }

        }
    }

    $M_db= new Mailconfig();

    function sendemail($toemail,$subject,$message,$additional){
        global $M_db,$db_bbsname,$rg_name,$db_bbsurl,$winduid,$timestamp,$regpwd,$manager,$db_ceoemail,$fromemail,$pwd_user,$submit,$receiver,$old_title,$fid,$tid;
        !$fromemail && $fromemail=$db_ceoemail;
        require_once GetLang('email');
        $lang[$subject]         && $subject=$lang[$subject];
        $lang[$message]         && $message=$lang[$message];
        $lang[$additional]     && $additional=$lang[$additional];
        if($M_db->S_method==1){
            if(@mail($toemail,$subject,$message,$additional)){
                  return 1;
            } else{
                  return 0;
            }
        }elseif($M_db->S_method==2){
            $fp = fsockopen($M_db->smtp['host'], $M_db->smtp['port'], &$errno, &$errstr, 30);
            set_socket_blocking($fp, true );
            if(smtp_get($fp) != 220) return 0;

            if($M_db->smtp['auth']) {
                  $from = $M_db->smtp['from'];
                  fputs($fp, "EHLO phpwind \r\n");
                  if(smtp_get($fp) != 250) return 0;

                  fputs($fp, "AUTH LOGIN \r\n");
                  if(smtp_get($fp) != 334) return 0;

                  fputs($fp, base64_encode($M_db->smtp['user'])." \r\n");
                  if(smtp_get($fp) != 334) return 0;

                  fputs($fp, base64_encode($M_db->smtp['pass'])." \r\n");
                  if(smtp_get($fp) != 235) return 0;
            } else {
                  fputs($fp, "HELO phpwind\r\n");
                  if(smtp_get($fp) != 250) return 0;
            }

            $from = preg_replace("/.*\<(.+?)\>.*/", "\\1", $from);
            fputs($fp, "MAIL FROM: $from\r\n");
            if(smtp_get($fp) != 250) return 0;
       
            fputs($fp, "RCPT TO: $toemail\r\n");
            if(smtp_get($fp) != 250) return 0;

            fputs($fp, "DATA\r\n");
            if(smtp_get($fp) != 354) return 0;

            $msg = "From: $from\r\n";
            $msg .= "To:$toemail\r\n";
            $msg .= 'Subject: '.str_replace("\n", ' ', $subject)."\r\n\r\n$message\r\n.\r\n";
            fputs($fp, $msg);
            if(smtp_get($fp) != 250) return 0;
       
            fputs($fp, "QUIT\r\n");
            fclose($fp);
            return 1;
        }elseif($M_db->S_method==3){
            $mailobject = new COM("CDONTS.NewMail");
            $mailobject->TO = $toemail;
            $mailobject->FROM = $db_ceoemail;
            $mailobject->Subject = $subject;
            $mailobject->Body = $message;
            $mailobject->Send();
        //     $mailobject->null;
            return 1;
        }elseif($M_db->S_method==4){
            $jmail = new COM("JMail.Message");
            $jmail->silent = true;
            $jmail->logging = true;
            $jmail->Charset = "GB2312";
            $jmail->ContentType = "text";
            $jmail->AddRecipient($toemail);
            $jmail->FromName = $manager;
            $jmail->From = $M_db->smtp['from'];
            $jmail->MailServerUserName = $M_db->smtp['user'];
            $jmail->MailServerPassword = $M_db->smtp['pass'];
            $jmail->Subject = $subject;
            $jmail->Body = $message;
        //     $jmail->Prority=3;
            $jmail->Send($M_db->smtp['host'].':'.$M_db->smtp['port']);
            $jmail->Close();
            return 1;
        }else{
            //hacker
        }
    }
    function smtp_get($socket)
    {
        while (substr($reply, 3, 1) != ' ')
        {
            $reply = fgets($socket, 512);
        }
        return substr($reply, 0, 3);
    }
    顶端 Posted: 05-11-09 18:56 | 1 楼
    wishu
    级别: 骑士


    精华: 1
    发帖: 21
    威望: 26 点
    金钱: 178 RMB
    贡献值: 0 点
    好评度: 10 点
    在线时间:19(小时)
    注册时间:2005-09-05
    最后登录:2006-03-05

     

    我的附件里有准确的说明!!


    大家下载好!
    网站建设全方位有偿服务,收费5-100元RMB
    1.PW论坛起步到完善,数据空间转换,插件风格安装等
    2.网站建设从0到成熟,HTML,三剑客,PS,FTP等应用
    3.永久技术支持QQ:7618618
    顶端 Posted: 05-11-09 19:11 | 2 楼
    Mike
    群熵工程师
    级别: 管理员


    精华: 7
    发帖: 951
    威望: 714 点
    金钱: 6601 RMB
    贡献值: 0 点
    好评度: 611 点
    在线时间:1405(小时)
    注册时间:2003-11-28
    最后登录:2018-04-23

     

    加雅全能空间的用户只要做如下修改:

    1,把var $S_method = 1; 改成var $S_method = 4;
    2,假设你的域名是abc.com,用webmaster@abc.com这个信箱发信(这个信箱的登录密码假设是xxxxxx),找到
            }elseif($this->S_method==4){
                  $this->smtp['host'] = 'mail.abc.com';// SMTP 服务器
                  $this->smtp['port'] = '25';               // SMTP 端口, 默认不需修改
                  $this->smtp['auth'] = 1;                   // 是否需要 AUTH LOGIN 验证, 1=是, 0=否
                  $this->smtp['from'] = 'mayuhui@163.com';     // 发信人地址 (如果需要验证,必须为本服务器地址)
                  $this->smtp['user'] = 'mayuhui';         // 验证用户名
                  $this->smtp['pass'] = 'xxxxxx';         // 验证密码
    换成
            }elseif($this->S_method==4){
                  $this->smtp['host'] = 'mail.abc.com';// SMTP 服务器
                  $this->smtp['port'] = '25';               // SMTP 端口, 默认不需修改
                  $this->smtp['auth'] = 1;                   // 是否需要 AUTH LOGIN 验证, 1=是, 0=否
                  $this->smtp['from'] = 'webmaster@abc.com';     // 发信人地址 (如果需要验证,必须为本服务器地址)
                  $this->smtp['user'] = 'webmaster@abc.com';         // 验证用户名
                  $this->smtp['pass'] = 'xxxxxx';         // 验证密码

    这样就可以使用了!
    顶端 Posted: 05-11-09 19:13 | 3 楼
    帖子浏览记录 版块浏览记录
    群熵信息 - 技术讨论区 » WEB脚本技术进阶

    Total 0.016661(s) query 5, Time now is:08-22 10:01, Gzip enabled
    Powered by PHPWind v6.3.2 Certificate Code © 2003-08 PHPWind.com Corporation

    上海服务器租用 杭州世导双线服务器托管 云主机 VPS