2015-06-12 34 views
2

我在運行Debian Wheezy Linux發行版的Beaglebone黑色上使用SendEmail SMTP客戶端(http://caspian.dotconf.net/menu/Software/SendEmail/)。Linux上的Sendemail Debian Wheezy在gmail和gmx賬戶上給出錯誤

這個工具正是我需要的,但我遇到了一些問題。請記住,我是一個Linux新手。首先,最新的用於Debian Wheezy的SendEmail包是1.56-2(https://packages.debian.org/source/wheezy/sendemail)。以後的軟件包(1.56-5)可用於其他Debian發行版(例如Sid/Jessie),但不適用於Wheezy。任何人都知道這是爲什麼?

我也使用libio-socket-ssl-perl 1.76-2,libnet-ssleay-per 1.48-1 + b1,perl 5.14.2-21 + deb7u2。

其次,我在端口465和587上使用GMAIL和GMX帳戶進行測試。請注意,我已經使用不同的操作系統(不是Linux)使用PolarSLL與我自己的SMTP客戶端測試了這些帳戶,並且帳戶都正常工作。

但是,在Linux Debian Wheezy上使用SendEmail時,它們似乎不起作用。我遇到的問題是:

GMAIL port 587 (STARTTLS) FAILS: 
Jun 12 10:39:55 beaglebone sendEmail[3686]: DEBUG => My IP address is: 192.168.1.224 
Jun 12 10:39:55 beaglebone sendEmail[3686]: SUCCESS => Received:  220 mx.google.com ESMTP ha4sm2142303wib.0 - gsmtp 
Jun 12 10:39:55 beaglebone sendEmail[3686]: INFO => Sending: EHLO beaglebone 
Jun 12 10:39:55 beaglebone sendEmail[3686]: SUCCESS => Received:  250-mx.google.com at your service, [92.19.250.250], 250-SIZE 35882577, 250-8BITMIME, 250-STARTTLS, 250-ENHANCEDSTATUSCODES, 250-PIPELINING, 250-CHUNKING, 250 SMTPUTF8 
Jun 12 10:39:55 beaglebone sendEmail[3686]: INFO => Sending: STARTTLS 
Jun 12 10:39:55 beaglebone sendEmail[3686]: SUCCESS => Received:  220 2.0.0 Ready to start TLS 
invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 332 

各種論壇提的是,修復/解決方法,這是改變行1490 「SSL.pm」

m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))$}i 

m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))}i 

這確實解決了這個問題。如果Wheezy有1.56-5可用,那麼也許不需要此修復程序?

無論是否實施上述修補程序,以下帳戶都會得到相同的結果。

GMAIL port 465 (SSL) FAILS: 
Jun 12 10:32:43 beaglebone sendEmail[3537]: DEBUG => Connecting to smtp.gmail.com:465 
Jun 12 10:32:43 beaglebone sendEmail[3537]: DEBUG => My IP address is: 192.168.1.224 
Jun 12 10:33:43 beaglebone sendEmail[3537]: ERROR => Timeout while reading from smtp.gmail.com:465 There was no response after 60 seconds. 

GMX port 587 (STARTTLS) FAILS: 
Jun 12 10:35:12 beaglebone sendEmail[3586]: DEBUG => Connecting to mail.gmx.com:587 
Jun 12 10:35:13 beaglebone sendEmail[3586]: DEBUG => My IP address is: 192.168.1.224 
Jun 12 10:35:13 beaglebone sendEmail[3586]: SUCCESS => Received:  220 gmx.com (mrgmx103) Nemesis ESMTP Service ready 
Jun 12 10:35:13 beaglebone sendEmail[3586]: INFO => Sending: EHLO beaglebone 
Jun 12 10:35:13 beaglebone sendEmail[3586]: SUCCESS => Received:  250-gmx.com Hello beaglebone [92.19.250.250], 250-SIZE 69920427, 250-AUTH LOGIN PLAIN, 250 STARTTLS 
Jun 12 10:35:13 beaglebone sendEmail[3586]: INFO => Sending: STARTTLS 
Jun 12 10:35:13 beaglebone sendEmail[3586]: SUCCESS => Received:  220 OK 
Jun 12 10:35:13 beaglebone sendEmail[3586]: ERROR => TLS setup failed: SSL connect attempt failed with unknown error error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number 

GMX port 465 (SSL) FAILS: 
Jun 12 10:36:23 beaglebone sendEmail[3619]: DEBUG => Connecting to mail.gmx.com:465 
Jun 12 10:36:23 beaglebone sendEmail[3619]: DEBUG => My IP address is: 192.168.1.224 
Jun 12 10:36:33 beaglebone sendEmail[3619]: ERROR => mail.gmx.com:465 returned a zero byte response to our query. 

任何人都可以幫忙嗎?

感謝

+0

我已經恢復SSL.pm恢復到原來的狀態,並手動複製sendEmail 1.56-5固定的端口587點的問題到/ usr/bin。 但是,這對端口465的結果沒有影響,所以這裏的任何幫助將不勝感激。 – gat

回答

3

我解決它通過改變

if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {   

if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'TLSv1')) { 

在sendEmail文件。

1

我有同樣的錯誤(在Debian傑西),和我解決了安裝包CA證書

apt-get install ca-certificates 
0

在我來說,我已經安裝ca-certificates,但包被打破。所以我需要重新安裝它。此修復程序是由update-ca-certificates腳本來完成的(它重新生成/etc/ssl/certs證書,安裝後腳本的一部分):

apt install --reinstall ca-certificates