header image
首页 arrow 开源动态 arrow FLOSS Article arrow 使用Gmail发送Bugzilla通知
使用Gmail发送Bugzilla通知 PDF Print E-mail
Written by Administrator   
2009 年 08 月 31 日 16:18

本文阐述如何使用Gmail SMTPTLS认证)来发送bugzilla通知。

Bugzilla支持下述方式来发送邮件通知:

  • sendmail

  • SMTP

对于SMTP方式,Bugzill使用Perl模块Email::Send::SMTPGmail SMTP使用TLSTransport Layer Security,传输层安全)做为认证方法,这样Email::Send::SMTP就不能用在它上面。

我们需要使用另一个Perl模块Email::Send::SMTP::TLS

第一步应该从CPAN安装Email::Send::SMTP::TLS,使用下述步骤来做:

  • 使用CPAN SHELL

    像下面这样运行CPAN shell

perl -MCPAN -e shell

CPAN shell中执行下述命令:

cpan> install Email::Send::SMTP::TLS

cpan shell可能要求您安装附加的模块,安装那些模块。

  • 从源代码编译

此处下载源代码,执行以下命令:

tar zxvf Email-Send-SMTP-TLS-0.03.tar.gz

cd Email-Send-SMTP-TLS-0.03

./configure

make

make install

一旦Email:Send::SMTP::TLS安装完成,Bugzilla应该具备SMTP::TLS方式发送通知。可以通过以系统管理员登录Bugzilla查看Administration->Parameters->Email选项来予以验证:

smtp::tls

现在我们需要对Bugzilla的代码进行改进。请小心执行下述命令,并且别忘了在你修改前备份文件。

切换到您Bugzilla的安装目录,执行以下命令:

cd Bugzilla

打开Mailer.pm文件,搜索以下if块:

if ($method eq "SMTP") {

将其更改为:

if ($method eq "SMTP" || $method eq "SMTP::TLS") {

  my ($smtp_server,$smtp_port) = split /:/,Bugzilla->params->{"smtpserver"};

    push @args,

      Host => $smtp_server,

      User => Bugzilla->params->{"smtp_username"},

      Password => Bugzilla->params->{"smtp_password"},

      Hello => $hostname,

      Debug => Bugzilla->params->{'smtp_debug'};

    push @args, Port => $smtp_port if($smtp_port);

}

现在我们需要在Bugzilla参数方面进行设置。

以系统管理员登录Bugzilla,进入Administration -> Parameters -> Email,做以下设置:

1.选择SMTP::TLS做为mail_delivery_method

smtp::stl

2.mailfrom处输入您的Gmail地址:

mailfrom

3.smtpserver处输入smtp.gmail.com:587

smtpserver

4.smtp_username处输入

smtp_username

5.smtp_password处输入Gmail密码:

smtp_password

6.点击save changes

save changes

7.如果您认为这是有用的,请考虑发送一个反馈 Smile


原文出处:BugZilla alerts using GMAIL

Google Search
选择语言