[運行在OS的Perl 5.16.2 X 10.9.5]無聲故障
我有一個小祕密聖誕老人perl腳本我一年重溫一次,現在這次它決定給我一個麻煩。 (我有一個新的電腦一樣,所以確實存在着與去年不同的環境。)我打電話:
$smtp = Net::SMTP::SSL->new(Host => "mail.mydomain.org", Port => 465);
,當它返回,$ SMTP包含Perl調試沒有價值('p $smtp'
剛顯示一個空行)和隨後的訪問像$stmp->domain
(和$smtp->auth()
)失敗,錯誤
Can't call method "domain" on an undefined value at ./secretsanta.pl line 67.
缺少什麼我在這裏?感謝任何指針。
編輯:當我打開SSL調試(perl -MIO::Socket::SSL=debug4 secretsanta.pl
)我得到:
DEBUG: .../IO/Socket/SSL.pm:1769: Invalid default certificate authority locations
SSL error: 8606: 1 - error:2006D002:BIO routines:BIO_new_file:system lib
SSL error: 8606: 2 - error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib
DEBUG: .../IO/Socket/SSL.pm:1774: Invalid default certificate authority locations error:0200100D:system library:fopen:Permission denied
DEBUG: .../IO/Socket/SSL.pm:529: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:531: socket connected
DEBUG: .../IO/Socket/SSL.pm:553: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:1769: SSL structure creation failed
DEBUG: .../IO/Socket/SSL.pm:1774: SSL structure creation failed error:140BA0C3:SSL routines:SSL_new:null ssl ctx
DEBUG: .../IO/Socket/SSL.pm:1758: IO::Socket::INET configuration failed
(我用我的託管公司提供的SSL證書,不符合我的郵件服務器的DNS名稱,但很明顯的東西從去年開始改變導致此不工作)
檢查'$!'和'$ IO :: Socket :: SSL :: SSL_ERROR'以獲取細節失敗的原因。 – 2014-11-08 22:29:33
@SteffenUllrich'$!'是空的,'$ IO :: Socket ...'是'IO :: Socket :: INET6配置失敗' – Conrad 2014-11-08 22:48:01
@SteffenUllrich我剛試過'使用IO :: Socket :: SSL'inet4' ;'在腳本開始,現在錯誤是'IO :: Socket :: INET配置失敗' – Conrad 2014-11-08 23:08:30