summaryrefslogtreecommitdiff
path: root/program/lib/Net
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2008-12-18 10:15:39 +0000
committeralecpl <alec@alec.pl>2008-12-18 10:15:39 +0000
commit44ea3fd4782889ee97717ce925d87979390e4bb3 (patch)
treec8ad6f35dc115ce32844b92c88667ff1301bd13c /program/lib/Net
parent05b9a2a0912bba5583c9ca14212a4310259889d7 (diff)
- Fix STARTTLS before AUTH in SMTP connection (#1484883)
Diffstat (limited to 'program/lib/Net')
-rw-r--r--program/lib/Net/SMTP.php19
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