TLS Connection can't be established (not gmail)

Swift Mailer is a fantastic library for sending email with php. Discuss this library or ask any questions about it here.

Moderators: Chris Corbyn, General Moderators

Post Reply
airsoft
Forum Newbie
Posts: 1
Joined: Fri Mar 07, 2008 7:35 am

TLS Connection can't be established (not gmail)

Post by airsoft »

i'm having problems connecting to my an SMTP Server using TLS:

this is my code:

Code: Select all

 
require_once "Swift/lib/Swift.php";
require_once "Swift/lib/Swift/Connection/SMTP.php";
 
$log = Swift_LogContainer::getLog();
$log->setLogLevel(Swift_Log::LOG_EVERYTHING);
$log->setMaxSize(200);
 
try {
        $smtp = new Swift_Connection_SMTP("smtp.unibe.ch", 587, Swift_Connection_SMTP::ENC_TLS);
        $smtp->setUsername("user");
        $smtp->setpassword("pass");
 
        $swift = new Swift($smtp);
 
        $message = new Swift_Message("test", "Test");
 
        $swift->send($message, "rcpt@mail.com", "sender@mail.com");
} catch (Swift_ConnectionException $e) {
        echo "There was a problem communicating with SMTP: " . $e->getMessage();
} catch (Swift_Message_MimeException $e) {
        echo "There was an unexpected problem building the email:" . $e->getMessage();
}
 
echo $log->dump(true);
 
This is the output of the script (with logging):

Code: Select all

 
There was a problem communicating with SMTP: The SMTP connection failed to start [tls://smtp.unibe.ch:587]: fsockopen returned Error Number 0 and Error String ''
Log Information
 
++ Log level changed to 4
++ Forcing ESMTP mode.  HELO is EHLO.
++ Forcing ESMTP mode.  HELO is EHLO.
++ Trying to connect...
++ Trying to connect to SMTP server at 'tls://smtp.unibe.ch:587
!! The SMTP connection failed to start [tls://smtp.unibe.ch:587]: fsockopen returned Error Number 0 and Error String ''
 
++ Log level changed to 4 ++ Forcing ESMTP mode. HELO is EHLO. ++ Forcing ESMTP mode. HELO is EHLO. ++ Trying to connect... ++ Trying to connect to SMTP server at 'tls://smtp.unibe.ch:587 !! The SMTP connection failed to start [tls://smtp.unibe.ch:587]: fsockopen returned Error Number 0 and Error String ''
 
the port is likely to be correct (can connect to it with telnet)

phpinfo shows that php is compiled with OpenSSL 0.9.8g

furthermore it is possible for me to connect to that server via TLS with the following command from
the shell of the same machine as the script above is running on:

Code: Select all

 
openssl s_client -starttls smtp -crlf -connect smtp.unibe.ch:25
 
Can somebody give me a hint to what i'm doing wrong?

Thanks in advance,

Gabe
peterzog
Forum Newbie
Posts: 1
Joined: Tue Apr 29, 2008 11:35 am

Re: TLS Connection can't be established (not gmail)

Post by peterzog »

I am having the same exact problem. Did you find a solution?
nalberg
Forum Newbie
Posts: 1
Joined: Tue Apr 29, 2008 12:17 pm

Re: TLS Connection can't be established (not gmail)

Post by nalberg »

My code is identical to yours and getting same error. I am able to use the test files - Smoke/TestConfiguration and send the test mails successfully to gmail on port 465. But putting in our mail.actifi.com server and login/port gives me the same error you are getting.
User avatar
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098
Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia

Re: TLS Connection can't be established (not gmail)

Post by Chris Corbyn »

It sounds as though this server doesn't take connections with TLS at connection-time, but actually requires STARTTLS. Swift version 3 does not support STARTTLS since it was not possible at the time due to PHP limitations. There's a subtle difference between establishing a connection using TLS and using STARTTLS within a connection.

With the former Swift simply initiates the connection with TLS enabled.
With STARTTLS the client (Swift) has to connection unencrypted and then "switch" to TLS whilst remaining connected. This switching wasn't possible to do when I wrote version 3.
tronics
Forum Newbie
Posts: 1
Joined: Thu Jan 22, 2009 3:04 am

Re: TLS Connection can't be established (not gmail)

Post by tronics »

Ok, thanks.

Does this work now with version 4 beta?
Download here: viewtopic.php?f=52&t=93049

Thanks.
User avatar
Chris Corbyn
Breakbeat Nuttzer
Posts: 13098
Joined: Wed Mar 24, 2004 7:57 am
Location: Melbourne, Australia

Re: TLS Connection can't be established (not gmail)

Post by Chris Corbyn »

STARTTLS is not supported, even in the beta. In theory it can be but I need to make few changes for it to work so it will have to wait for now I'm afraid. When I wrote the current version it was impossible to do with PHP, but now the required functions exist should I choose to do this :)
JGarrido
Forum Newbie
Posts: 3
Joined: Fri Aug 22, 2008 12:42 pm

Re: TLS Connection can't be established (not gmail)

Post by JGarrido »

Chris Corbyn wrote:STARTTLS is not supported, even in the beta. In theory it can be but I need to make few changes for it to work so it will have to wait for now I'm afraid. When I wrote the current version it was impossible to do with PHP, but now the required functions exist should I choose to do this :)
Please 'choose to do this'!
Post Reply