diff options
author | alecpl <alec@alec.pl> | 2008-12-18 10:15:39 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2008-12-18 10:15:39 +0000 |
commit | 44ea3fd4782889ee97717ce925d87979390e4bb3 (patch) | |
tree | c8ad6f35dc115ce32844b92c88667ff1301bd13c /program/lib/Net | |
parent | 05b9a2a0912bba5583c9ca14212a4310259889d7 (diff) |
- Fix STARTTLS before AUTH in SMTP connection (#1484883)
Diffstat (limited to 'program/lib/Net')
-rw-r--r-- | program/lib/Net/SMTP.php | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/program/lib/Net/SMTP.php b/program/lib/Net/SMTP.php index 005691d56..b9ad4b2e8 100644 --- a/program/lib/Net/SMTP.php +++ b/program/lib/Net/SMTP.php @@ -375,7 +375,7 @@ class Net_SMTP return true; } - +console($this->_arguments); foreach ($this->_arguments as $argument) { $verb = strtok($argument, ' '); $arguments = substr($argument, strlen($verb) + 1, @@ -424,11 +424,8 @@ class Net_SMTP */ function auth($uid, $pwd , $method = '') { - if (empty($this->_esmtp['AUTH'])) { - if (version_compare(PHP_VERSION, '5.1.0', '>=')) { - if (!isset($this->_esmtp['STARTTLS'])) { - return PEAR::raiseError('SMTP server does not support authentication'); - } + if (version_compare(PHP_VERSION, '5.1.0', '>=') && isset($this->_esmtp['STARTTLS'])) { + if (PEAR::isError($result = $this->_put('STARTTLS'))) { return $result; } @@ -444,12 +441,10 @@ class Net_SMTP /* Send EHLO again to recieve the AUTH string from the * SMTP server. */ $this->_negotiate(); - if (empty($this->_esmtp['AUTH'])) { - return PEAR::raiseError('SMTP server does not support authentication'); - } - } else { - return PEAR::raiseError('SMTP server does not support authentication'); - } + } + + if (empty($this->_esmtp['AUTH'])) { + return PEAR::raiseError('SMTP server does not support authentication'); } /* If no method has been specified, get the name of the best |