2011-09-02 9 views
6

Ja próbuje wysłać wiadomość e-mail przy użyciu składnika CakePHP SwiftMailer I znaleźć tutaj: http://bakery.cakephp.org/articles/sky_l3ppard/2009/11/07/updated-swiftmailer-4-xx-component-with-attachments-and-pluginsCakePHP SwiftMailer SMTP TLS OpenSSL Błąd SSL3_GET_RECORD: zły numer wersji

Serwer wyślę do korzysta z SMTP TLS ponad Port 25. Tutaj jest błąd pojawia się, gdy próbuję wysłać mail:

Notice (8): Trying to get property of non-object [APP/views/helpers/hdl_session.php, line 14] 

Warning (2): stream_socket_client() [function.stream-socket-client]: SSL operation failed with code 1. OpenSSL Error messages: 
error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number [CORE/vendors/classes/Swift/Transport/StreamBuffer.php, line 271] 

Warning (2): stream_socket_client() [function.stream-socket-client]: Failed to enable crypto [CORE/vendors/classes/Swift/Transport/StreamBuffer.php, line 271] 

Warning (2): stream_socket_client() [function.stream-socket-client]: unable to connect to tls://mail.aedisit.com:25 (Unknown error) [CORE/vendors/classes/Swift/Transport/StreamBuffer.php, line 271] 

Warning (2): Illegal offset type in isset or empty [CORE/cake/libs/i18n.php, line 177] 

Warning (2): Cannot modify header information - headers already sent by (output started at /srv/www/stage/hypercool/cake/libs/debugger.php:673) [CORE/cake/libs/controller/controller.php, line 742] 

Oto info OpenSSL z mojego phpinfo:

openssl 
OpenSSL support  enabled 
OpenSSL Library Version  OpenSSL 0.9.8o 01 Jun 2010 
OpenSSL Header Version OpenSSL 0.9.8o 01 Jun 2010 

I trochę więcej informacji od mojego phpinfo:

PHP Version 5.3.5-1ubuntu7.2 
Registered Stream Socket Transports  tcp, udp, unix, udg, ssl, sslv3, sslv2, tls 

Każda pomoc jest tu bardzo mile widziane :-)

EDIT:

SSL operation failed with code 1. OpenSSL Error messages: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number

To wydaje się być głównym problemem. Ktoś wie co to dokładnie oznacza?

Odpowiedz

2

Rozwiązaliśmy ten problem. Problem pojawił się z naszą wersją SSL i metodą łączenia SwiftMailer. Komponent SwiftMailer próbował połączyć się przy użyciu TLS, zamiast tego najpierw musiał połączyć się w postaci zwykłego tekstu, a następnie zainicjować połączenie TLS. Mam nadzieję, że to pomoże każdemu, kto ma ten problem.

1

Zaktualizuj swoje biblioteki SwiftMailer. Niedawno wpadłem na ten problem z SwiftMailer 4.0.6 i zaktualizowałem go do wersji 4.1.6 - teraz działa jak urok :)