急救-bugzilla邮件发送配置发生问题
我bugzilla的界面已经进去,在邮件发送配置发生问题,我是参考http://dev.csdn.net/article/49/49481.shtm上的文裁:五、邮件发送配置
由于bugzilla默认使用的是sendmail来发送邮件的,在windows上要想能发送邮件还要修改几个地方。
1、打开e:\bugzilla-2.18rc3\目录下的CGI.pl、\Bugzilla\BugMail.pm和\Bugzilla\Token.pm文件,找到如下内容(可能略有不同):
open SENDMAIL, "|/usr/lib/sendmail -t -i";
print SENDMAIL $msg;
close SENDMAIL;
换成
use Net::SMTP;
my $smtp_server = 'smtp.163.com';# 这里换成你自己使用的邮件服务器地址
# Use die on error, so that the mail will be in the 'unsent mails' and
# can be sent from the sanity check page.
my $smtp = Net::SMTP->new($smtp_server) ||
die 'Cannot connect to server \'$smtp_server\'';
$smtp->auth('youname@163.com', 'password') or die "auth error\n"; # 这里换成你自己使用的邮件服务器上的用户名和密码
$smtp->mail('younam@163.com'); # 这里换成你自己使用的邮件地址
$smtp->to($login); #注意这里,每个文件中的login参数名称是不一样的
$smtp->data();
$smtp->datasend($msg); #注意这里,每个文件中的msg参数名称是不一样的
$smtp->dataend();
$smtp->quit;
2、安装perl的 Net::SMTP 模块
在DOS窗口中,执行以下命令添加下载模块的地址
C:\>ppm rep add glob http://glob.com.au/ppm
然后用以下命令安装:
c:\>ppm install Net::SMTP
会提示说找到了多个模块(有3个),并列出这些模块的名称
但我照上面操作了(但以上bugzilla-2.18rc3\目录下的CGI.pl和\Bugzilla\Token.pm文件我没找到相关信息,就没改!)之后出现:
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
Global symbol "$login" requires explicit package name at Bugzilla/BugMail.pm line 878.
Compilation failed in require at CGI.pl line 47.
BEGIN failed--compilation aborted at CGI.pl line 47.
Compilation failed in require at D:\Bugzilla\index.cgi line 33.
似乎是"$login"没定义,我定义了一下是可以进去的,但是写死的,可邮件还是不能自动发出去
问哪位高人帮我解决下这个问题,对了,我用的是IIS配置的。
谢谢啦!
还有在bugziilla进去之后关于邮件发送的配置是否要设置? 你用的是什么版本?
在什么平台配置?
写详细一些!看看怎么帮助你
回复 #2 pcl2004_27 的帖子
我的是XPbugzilla-2.18rc3
MySQL Server 4.1
我现在是这样的情况:
my $login='wuweiyi0924@sohu.com';
$smtp->auth('wywu@entriq.com.cn', ‘****') or die "auth error\n"; # 这里换成你自己使用的邮件服务器上的用户名和密码
$smtp->mail('wywu@entriq.com.cn'); # 这里换成你自己使用的邮件地址
$smtp->to($login); #注意这里,每个文件中的login参数名称是不一样的
$smtp->data();
$smtp->datasend($msg); #注意这里,每个文件中的msg参数名称是不一样的
$smtp->dataend(); $smtp->quit;
是可以发到我搜狐邮箱的,可是是写死的。
my $login=''';就不行了
谢谢
页:
[1]