失败的AUTH:必须首先发出STARTTLS命令

时间:2015-09-30 10:52:55

标签: perl email ssl smtp bugzilla

我不能为我的生活弄清楚如何设置Bugzilla使用TLS发送电子邮件。我运行了Bugzilla网站,但是,当我尝试更改我的Bugzilla帐户电子邮件时,系统失败并显示以下内容(我设置了我的电子邮件参数以使用我的Amazon AWS电子邮件服务器):

  

发生意外错误。这可能是一个临时问题,或者某些代码行为不正确。如果此问题仍然存在,请将此页面通过电子邮件发送给... @ ..... com,详细说明此消息出现时您所做的事情。

     

网址:http://example.com/userprefs.cgi?new_password1=&new_password2=&tab=account&old_login=jdoe%40example.com&realname=John%20Doe&new_login_name=johndoe422%40example.net&dosave=1&token=...&old_password= ...

     

从'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大师可以帮忙吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

通过终止我的Bugzilla安装(5.0.1)并完全重新安装旧版本(4.4.10)解决了这个问题。事情只适用于以前的版本。

答案 1 :(得分:0)

我使用Bugzilla 5与同样的问题进行了半天的战斗。我没有成功让STARTTLS工作,这很奇怪,因为这是现在发送电子邮件的标准方式。我终于放弃了并在我的Postfix服务器上激活了SMTPS(端口465)。这很容易做到,一旦我这样做,Bugzilla可以轻松发送电子邮件。如果您可以控制邮件服务器,这是一种更简单的方法,因为生命太短,无法通过perl代码阅读。