【发布时间】:2015-12-28 03:09:19
【问题描述】:
我终其一生都无法弄清楚如何设置 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 大师帮忙吗?
谢谢!
【问题讨论】:
-
我不知道为什么人们不赞成这个问题,这表明我没有做我的研究。我查看了整个互联网并尝试了各种解决方案,这就是为什么我会遇到所有这些错误,因为我已经研究并尝试了很多事情。如果您不是在这里提供帮助或有任何建设性的 cmets 可以提供,请不要投反对票。
-
这是一个 C 编译器错误。我在rt.cpan.org/Ticket/Display.html?id=107422 提交了它。如果您将电子邮件地址作为
CC添加到错误中,那将是非常棒的,以防 Net-SSLeay 维护人员需要您提供更多详细信息以修复或减轻错误。 -
@daxim 欢迎回来! \o/
-
@daxim 你能帮我添加我的电子邮件吗? pinghsien422@gmail.com 我无法将自己添加到抄送列表中,我没有看到任何可以让我这样做的东西。怀疑我需要登录才能这样做,创建一个比特卡帐户,但不知何故点击“继续登录”浏览器只是没有响应。
-
回到原来的问题,我打开了 TLS.pm,查看了所有的“使用”状态(Email::Address、Net::SMTP::TLS::ButMaintained 和 Return::Value ),发现我已经安装了所有这些。我没有看到它使用 Net::SSLeay。我想知道看看 SSLeay 是否是正确的方向。想法?
标签: perl email ssl smtp bugzilla