51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4215|回复: 2
打印 上一主题 下一主题

[求助] 不得已发之。。。关于bugzilla的CGI Error问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-7-18 15:20:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的执行步骤:
一、安装Mysql ;二、安装Perl ;三、使用BugzillaModules-2.20.zip并运行setup.bat ;四、解压bugzilla-2.20.2.tar.gz ;五、cmd程序下perl checksetup.pl(检测结果为全部OK,并且输入正确的SMTP一直到结束,都没有出错) ;六、IIS的配置(打开CGI和ISAPI服务等都完成了)
PS:上面有些步骤就略节了,如在config文件里添加密码等。

结果:页面显示:
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers.
(只有上面这些内容,没有更多的提示了)

备注:之前我也安装过一个bugzilla-2.19.3,显示是正常的,然后我又安装了一个新的bugzilla版本bugzilla-2.20.2,没想原先显示正常的2.19.3也显示不正常

我自己分析是不是因为BugzillaModules-2.20.zip包的问题?因为装2.19.3是我手动安装的,并且装2.20时没有动过2.19.3的配置,最大的可能性就是perl我又安装过了一次

我想这里有N多的这方面的专家,对于这些异常问题有很客观的判断,急求帮助

网上我也找询答案,但都不得其果。。~~哭

[ 本帖最后由 maxHren 于 2006-7-18 16:07 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2006-7-18 16:05:32 | 只看该作者
还有一个问题,安装2.20后,关于邮件的发送,是否仅仅对BugMail.pm代码进行修改就行了?

达人们看一下,下面代码能否实现邮件发送?


在文件开头需要加入:(use Net::SMTP;) 表示应用Net::SMTP来发送邮件。
在bugmail.pm里面找到如下代码:

标注#old都是需要注释掉,然后加上新代码。$msg包含了所要发送的内容

sub MessageToMTA ($) {
    my ($msg, , $rcpt_to) = (@_);
    return if (Param('mail_delivery_method') eq "none");

    my @args;
    if (Param("mail_delivery_method") eq "sendmail" && !Param("sendmailnow")) {
        push @args, "-ODeliveryMode=deferred";
    }
    if (Param("mail_delivery_method") eq "smtp") {
        push @args, Server => Param("smtpserver");
    }
#old    my $mailer = new Mail::Mailer Param("mail_delivery_method"), @args;
#old    if (Param("mail_delivery_method") eq "testfile") {
#old        $Mail::Mailer::testfile::config{outfile} = "$datadir/mailer.testfile";
#old    }
#old   
    $msg =~ /(.*?)\n\n(.*)/ms;
    my @header_lines = split(/\n/, $1);
    my $body = $2;
#old
    my $headers = new Mail::Header \@header_lines, Modify => 0;
#old    $mailer->open($headers->header_hashref);
#old    print $mailer $body;
#old    $mailer->close;

        my $sendtos = $headers->header_hashref->{To};
        my $sendto;
       
        if (ref($sendtos)){
                $sendto = join(";", @$sendtos);
        }else{
                $sendto = $sendtos;
        }
       
        my $smtp = new Net::SMTP('mail.XXX.com'); # 这里换成你自己使用的邮件服务器地址
        $smtp->auth('bugzilla', 'Quf6kd.k83l*e') or die "auth error\n"; # 这里换成你自己使用的邮件服务器上的用户名和密码
        $smtp->mail('bugzilla@XXX.com'); # 这里换成你自己使用的邮件地址
        $smtp->to($sendto); #这里是接收地址
        $smtp->data();
        $smtp->datasend($msg);
        $smtp->dataend();
        $smtp->quit;

}

[ 本帖最后由 maxHren 于 2006-7-18 16:06 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-11-8 19:53:58 | 只看该作者
。。。无奈  没有头绪

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-25 22:18 , Processed in 0.087620 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表