|
本文阐述如何使用Gmail
SMTP(TLS认证)来发送bugzilla通知。
Bugzilla支持下述方式来发送邮件通知:
对于SMTP方式,Bugzill使用Perl模块Email::Send::SMTP。Gmail
SMTP使用TLS(Transport 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选项来予以验证:

现在我们需要对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:

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

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

4.在smtp_username处输入
:

5.在smtp_password处输入Gmail密码:

6.点击save
changes:

7.如果您认为这是有用的,请考虑发送一个反馈 
原文出处:BugZilla
alerts using GMAIL。 |