Bugzilla:未找到 SASL 机制

Bugzilla:未找到 SASL 机制

我在 Windows 7 上使用 Bugzilla。

我正在使用非官方 Bugzilla 安装程序。我按照步骤操作,并在需要时提供了有效的凭证。

我打开 Bugzilla 并尝试创建一个新帐户,但出现以下错误。

Software error:
No SASL mechanism found
at C:/Program Files/Bugzilla/perl/perl/site/lib/Authen/SASL.pm line 77
at C:/Program Files/Bugzilla/perl/perl/lib/Net/SMTP.pm line 143

我运行了 checksetup.pl 并发现我的机器上 Authen::SASL 和 SMTP 都可用。

checksetup.pl 的输出如下。

* 这是 perl 5.10.1 上的 Bugzilla 3.6.3
* 在 Win7 Build 7600 上运行

检查 perl 模块...
检查 CGI.pm (v3.33) 是否正常:找到 v3.49
检查 Digest-SHA(任意)是否正常:找到 v5.48
检查 TimeDate (v2.21) 是否正常:找到 v2.24
检查日期时间 (v0.28) 是否正常:找到 v0.53
检查 DateTime-TimeZone (v0.79) 是否正常:找到 v1.10
检查 DBI (v1.41) 是否正常:找到 v1.609
检查 Template-Toolkit (v2.22) 是否正常:找到 v2.22
检查电子邮件发送 (v2.16) 是否正常:找到 v2.198
检查 Email-MIME (v1.861) 是否正常:找到 v1.903
检查电子邮件 MIME 编码 (v1.313) 正常:找到 v1.313
检查 Email-MIME-Modifier (v1.442) 是否正常:找到 v1.903
检查 URI(任意)是否正确:找到 v1.52

检查可用的 perl DBD 模块...
检查 DBD-Pg (v1.45) 是否正常:发现 v2.16.1
检查 DBD-mysql (v4.00) 是否正常:找到 v4.012
检查未找到 DBD-Oracle (v1.19)

以下 Perl 模块是可选的:
检查 GD (v1.20) 是否正常:找到 v2.44
检查图表 (v2.1) 是否正常:找到 v2.4.1
检查 Template-GD (任意) 是否正常:找到 v1.56
检查 GDTextUtil (任何) 是否正常:找到 v0.86
检查 GDGraph(任何)是否正常:找到 v1.44
检查 XML-Twig (任意) 是否正常:找到 v3.34
检查 MIME 工具 (v5.406) 是否正常:找到 v5.427
检查 libwww-perl (任意) 是否正常:发现 v5.834
检查 PatchReader (v0.9.4) 是否正常:找到 v0.9.5
检查 perl-ldap (任何) 是否正常:找到 v0.39
检查 Authen-SASL(任何)是否正常:发现 v2.15
检查 RadiusPerl (任意) 是否正常:发现 v0.17
检查 SOAP-Lite (v0.710.06) 是否正常:找到 v0.710.10
检查 JSON-RPC (任意) 是否正常:找到 v0.95
检查 Test-Taint (任何) 是否正常:发现 v1.04
检查 HTML-Parser (v3.40) 是否正常:找到 v3.64
检查 HTML-Scrubber (任意) 是否正常:找到 v0.08
检查 Email-MIME-Attachment-Stripper (任意) 是否正常:找到 v1.316
检查电子邮件回复(任何)是否正常:找到 v1.202
检查 TheSchwartz (任何) 未找到
检查未找到 Daemon-Generic (any)
未找到 mod_perl (v1.999022)
*******************************************************************************
* 可选模块 *
*******************************************************************************
* Bugzilla 不需要某些 Perl 模块,但是 *
* 安装最新版本,您可以访问其他内容 *
* 特征。 *
* *
* 您尚未安装的可选模块如下所列,*
* 及其启用的功能名称。该表下方是 *
* 安装每个模块的命令。*
*******************************************************************************
* 模块名称 * 启用功能 *
*******************************************************************************
* TheSchwartz * 邮件队列 *
* 守护进程通用 * 邮件队列 *
* mod_perl * mod_perl *
*******************************************************************************
* Windows 用户注意事项 *
*******************************************************************************
* 为了安装下面列出的模块,您首先必须运行 *
* 以管理员身份执行以下命令:*
* *
* ppm repo 添加 theory58S http://cpan.uwinnipeg.ca/PPMPackages/10xx/
* *
* 然后您必须执行以下操作(也以管理员身份):*
* *
* ppm 回购理论 58S *
* *
* 反复执行最后一个命令,直到看到“theory58S”为止 *
* 显示列表的顶部。*
*******************************************************************************
安装可选模块的命令:

    TheSchwartz:ppm 安装 TheSchwartz
 守护进程通用: ppm 安装守护进程通用
       mod_perl:ppm 安装 mod_perl

正在读取./localconfig...
检查 DBD-mysql (v4.00) 是否正常:找到 v4.012
检查 MySQL (v4.1.2) 是否正常:找到 v5.1.44-community-log

删除现有的已编译模板...
预编译模板...完成。

现在您已经安装了 Bugzilla,您应该访问“参数”
页面(链接在管理员帐户的页脚中),以确保
按照您的意愿进行设置 - 包括将 'urlbase' 选项设置为
正确的 URL。
按任意键继续 。 。 。

请告诉我我该怎么办。

请注意:我在公司代理后面运行,SSL/TLS 不在内部使用,但我也提供了 smtpUser 和 smtpPass。

答案1

最可能的原因是你的库缺少 Authen::SASL::Perl::NTLM

请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=625781了解详情。

答案2

看起来您已将 Bugzilla 系统配置为在发送电子邮件时使用 SASL 系统进行身份验证,但尚未配置 SASL 系统的具体信息。

来自 Bugzilla 指南:

3.1.12. Email

This page contains all of the parameters for configuring how Bugzilla
deals with the email notifications it sends. See below for a summary of
important options.

...

smtp_username
      Username to use for SASL authentication to the SMTP server.
      Leave this parameter empty if your server does not require
      authentication.

smtp_password
      Password to use for SASL authentication to the SMTP server. This
      parameter will be ignored if the "smtp_username" parameter is
      left empty.

答案3

at /usr/share/perl5/vendor_perl/Authen/SASL.pm line 77.
at /usr/share/perl5/Net/SMTP.pm line 143.

对我来说已解决

对于此错误,请对 Microsft Exchage 进行以下设置,通过电子邮件发送至使用 TLS 或 SSL/按照以下步骤操作

对于 Windows 用户
CPAN: install Net::SMTP::TLS
Linux 用户 /
cpan install Email::Send::SMTP::TLS

cp Mailer.pm Mailer.pm_Bkp
在下面文件中进行更改
vim /usr/share/bugzilla/Bugzilla/Mailer.pm 
use Email::Send;

使用下面或上面的任何一个字符串来通信 SMTP TLS

use Email::Send::SMTP::TLS;

sub MessageToMTA {
my ($smtp_server, $smtp_port);
}

if ($method eq "SMTP" | | $method eq "SMTP::TLS") {
    ($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);
}
:wq
保存此文件。

在检查 URL 之前,运行以下命令来验证错误:

./checksetup.pl

现在检查它是否可以工作。

相关内容