51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] Bugzilla无法登录,发送邮件不成功????

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-29 15:28:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好!

   这段时间试着安装Bugzilla软件,版本为2.20.5;perl为5.8.8;apache2 2.2。
   邮件发送如图

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-4-29 15:32:59 | 只看该作者
无法登录,申请新账号,发送邮件后很长时间,但没有收到任何邮件,连垃圾邮件都没有。不知道哪位知道原因
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-5-12 16:31:50 | 只看该作者
我今天刚解决这个问题
打开...\Bugzilla\Mailer.pm, 修改如下MessageToMTA子程序
sub MessageToMTA {
     my ($msg) = (@_);
     #return if (Param('mail_delivery_method') eq "none");

     my ($header, $body) = $msg =~ /(.*?\n)\n(.*)/s ? ($1, $2) : ('', $msg);
     my $headers;

     if ((!is_7bit_clean($header) or !is_7bit_clean($body))) {
         ($headers, $body) = encode_message($msg);
     } else {
         my @header_lines = split(/\n/, $header);
         $headers = new Mail::Header \@header_lines, Modify => 0;
     }

     # Use trim to remove any whitespace (incl. newlines)
     my $rcpt_to = trim($headers->get('to'));

     use Net::SMTP;
     my $smtp_server = 'smtp.163.com';
     my $smtp_user = 'test@163.com';
     my $smtp_pass = '123456';


     my $encode_smtpuser = trim(encode_base64($smtp_user));
     my $encode_smtppass = trim(encode_base64($smtp_pass));

     my $smtp = Net::SMTP->new($smtp_server,Timeout => 60) ||
     die 'Cannot connect to smtp server';

     my $result = $smtp->command('AUTH','LOGIN');
     my $answer = $smtp->getline();
     # 334 VXNlcm5hbWU6

     $result = $smtp->command($encode_smtpuser);
     $answer = $smtp->getline();
     # 334 UGFzc3dvcmQ6
  
     $result = $smtp->command($encode_smtppass);
     $answer = $smtp->getline();
     # 235 Authentication successful
     # or 535 Authentication failed
     if ($answer =~ /535/i)
     {print "Sorry,Authentication failed!n";exit;}

     $smtp->mail($smtp_user);
     $smtp->to($rcpt_to);
     $smtp->data();
     $smtp->datasend($msg);
     $smtp->dataend();
     $smtp->quit;
}

注意:我把涉及到Param方法的都注释了,因为运行时报错,无法调用。

可参考http://blog.chinaunix.net/u1/42969/showart_342667.html
http://dev.csdn.net/article/49/49481.shtm
http://www.blogjava.net/andyhan/archive/2005/07/13/7594.html
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-24 02:59 , Processed in 0.069197 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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