我不能为我的生活弄清楚如何设置Bugzilla使用TLS发送电子邮件。我运行了Bugzilla网站,但是,当我尝试更改我的Bugzilla帐户电子邮件时,系统失败并显示以下内容(我设置了我的电子邮件参数以使用我的Amazon AWS电子邮件服务器):
发生意外错误。这可能是一个临时问题,或者某些代码行为不正确。如果此问题仍然存在,请将此页面通过电子邮件发送给... @ ..... com,详细说明此消息出现时您所做的事情。
从'bugzilla@example.com'向'johndoe422@example.com'发送邮件时出错:AUTH失败:必须先发出STARTTLS命令
回溯:
在Bugzilla / Mailer.pm第186行 Bugzilla :: Mailer :: MessageToMTA(...)在Bugzilla / Token.pm第116行调用 Bugzilla :: Token :: IssueEmailChangeToken(...)在/srv/www/bugzilla/userprefs.cgi第120行调用 main :: SaveAccount(...)在/srv/www/bugzilla/userprefs.cgi第608行调用
所以我按照以下内容中的说明继续尝试解决此问题:Bugzilla Alerts Using Gmail
我设法使用cpanm安装Email::Send::SMTP::TLS
模块(不知道为什么我根本无法通过CPAN安装任何模块),安装后,SMTP::TLS
选项不会出现在下拉列表中。我只是忽略它并继续按照指示更新Mailer.pm。
之后,当我刷新我的bugzilla页面时,我收到以下错误:
Software error:
Global symbol "@args" requires explicit package name at Bugzilla/Mailer.pm line 138.
Global symbol "@args" requires explicit package name at Bugzilla/Mailer.pm line 144.
Compilation failed in require at Bugzilla/Auth.pm line 22.
BEGIN failed--compilation aborted at Bugzilla/Auth.pm line 22.
Compilation failed in require at Bugzilla.pm line 23.
BEGIN failed--compilation aborted at Bugzilla.pm line 23.
Compilation failed in require at /srv/www/bugzilla/editparams.cgi line 15.
BEGIN failed--compilation aborted at /srv/www/bugzilla/editparams.cgi line 15.
For help, please send mail to this site's webmaster, giving this error message and the time and date of the error.
我读过这可能是因为Email :: Send :: SMTP :: TLS需要Net :: SSLeay包。所以我继续尝试使用cpanm安装它。但是,cpanm失败并显示以下日志:
23 *** Found OpenSSL-1.0.1f installed in /usr
24 *** Be sure to use the same compiler and options to compile your OpenSSL, perl,
25 and Net::SSLeay. Mixing and matching compilers is not supported.
26 Do you want to run external tests?
27 These tests *will* *fail* if you do not have network connectivity. [n] n
28 Checking if your kit is complete...
29 Looks good
30 Generating a Unix-style Makefile
31 Writing Makefile for Net::SSLeay
32 Writing MYMETA.yml and MYMETA.json
33 -> OK
34 Checking dependencies from MYMETA.json ...
35 Checking if you have Test::More 0.60_01 ... Yes (1.001014)
36 Checking if you have MIME::Base64 0 ... Yes (3.13)
37 Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.10)
38 Building and testing Net-SSLeay-1.72
39 cp lib/Net/SSLeay.pm blib/lib/Net/SSLeay.pm
40 AutoSplitting blib/lib/Net/SSLeay.pm (blib/lib/auto/Net/SSLeay)
41 blib/lib/Net/SSLeay.pm: some names are not unique when truncated to 8 characters:
42 directory blib/lib/auto/Net/SSLeay:
43 do_https3.al, do_https2.al, do_https4.al, do_https.al truncate to do_https
44 do_httpx3.al, do_httpx2.al, do_httpx4.al truncate to do_httpx
45 get_https.al, get_https3.al, get_https4.al, get_http.al, get_http3.al, get_http4.al, get_httpx.al, get_httpx3.al, get_httpx4.al truncate to get_http
46 head_https.al, head_https3.al, head_https4.al, head_http.al, head_http3.al, head_http4.al, head_httpx.al, head_httpx3.al, head_httpx4.al truncate to head_htt
47 post_https.al, post_https3.al, post_https4.al, post_http.al, post_http3.al, post_http4.al, post_httpx.al, post_httpx3.al, post_httpx4.al truncate to post_htt
48 put_https.al, put_https3.al, put_https4.al, put_http.al, put_http3.al, put_http4.al, put_httpx.al, put_httpx3.al, put_httpx4.al truncate to put_http
49 ssl_read_all.al, ssl_read_until.al, ssl_read_CRLF.al truncate to ssl_read
50 ssl_write_all.al, ssl_write_CRLF.al truncate to ssl_writ
51 tcp_read_all.al, tcp_read_until.al, tcp_read_CRLF.al truncate to tcp_read
52 tcp_write_all.al, tcp_write_CRLF.al truncate to tcp_writ
53 cp lib/Net/SSLeay/Handle.pm blib/lib/Net/SSLeay/Handle.pm
54 cp lib/Net/SSLeay.pod blib/lib/Net/SSLeay.pod
55 Running Mkbootstrap for Net::SSLeay ()
56 chmod 644 "SSLeay.bs"
57 "/usr/bin/perl" "-Iinc" "/usr/share/perl/5.18/ExtUtils/xsubpp" -typemap "/usr/share/perl/5.18/ExtUtils/typemap" -typemap "typemap" SSLeay.xs > SSLeay.xsc && mv SSLeay.xsc SSL eay.c
58 cc -c -I/usr/include -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.72\" -DXS_VERSION=\"1.72\" -fPIC "-I/usr/lib/perl/5.18/CORE" SSLeay.c
59 {standard input}: Assembler messages:
60 {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
61 cc: internal compiler error: Killed (program cc1)
62 Please submit a full bug report,
63 with preprocessed source if appropriate.
64 See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
65 make: *** [SSLeay.o] Error 4
66 -> FAIL Installing Net::SSLeay failed. See /home/ubuntu/.cpanm/work/1443609644.32449/build.log for details. Retry with --force to force install it.
我不知道perl,也无法弄清楚为什么我左右都会出错。 我在许多地方读过,我可以使用如下命令安装所有可用的软件包:
/usr/bin/perl install-module.pl --all
但是,此命令对我不起作用。 (我根本无法使用CPAN安装任何模块,不知道为什么)它几乎对我没有任何作用。这是执行install-module.pl时得到的输出:
ubuntu@ip-10-130-10-107:/srv/www/bugzilla$ sudo /usr/bin/perl install-module.pl --all
Checking for CPAN (v1.81) ok: found v2.10
Checking for YAML (any) ok: found v1.15
Checking for ExtUtils-MakeMaker (v6.31) ok: found v7.1
defined(@array) is deprecated at /usr/share/perl5/Chart/Base.pm line 181.
(Maybe you should just omit the defined()?)
defined(@array) is deprecated at /usr/share/perl5/Chart/Base.pm line 233.
(Maybe you should just omit the defined()?)
Reading '/home/ubuntu/.cpan/Metadata'
Fetching with LWP:
http://cpan.mirror.vexxhost.com/authors/01mailrc.txt.gz
Reading '/home/ubuntu/.cpan/source/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://cpan.mirror.vexxhost.com/modules/02packages.details.txt.gz
Reading '/home/ubuntu/.cpan/source/modules/02packages.details.txt.gz'
Database was generated on Wed, 30 Sep 2015 09:53:42 GMT
..........ubuntu@ip-10-130-10-107:/srv/www/bugzilla$
我不确定为什么事情对我不起作用。我是否有错误的perl安装或什么?有些perl大师可以帮忙吗?
谢谢!
答案 0 :(得分:0)
通过终止我的Bugzilla安装(5.0.1)并完全重新安装旧版本(4.4.10)解决了这个问题。事情只适用于以前的版本。
答案 1 :(得分:0)
我使用Bugzilla 5与同样的问题进行了半天的战斗。我没有成功让STARTTLS工作,这很奇怪,因为这是现在发送电子邮件的标准方式。我终于放弃了并在我的Postfix服务器上激活了SMTPS(端口465)。这很容易做到,一旦我这样做,Bugzilla可以轻松发送电子邮件。如果您可以控制邮件服务器,这是一种更简单的方法,因为生命太短,无法通过perl代码阅读。