summaryrefslogtreecommitdiff
path: root/program/include/rcube_imap.inc
diff options
context:
space:
mode:
Diffstat (limited to 'program/include/rcube_imap.inc')
-rw-r--r--program/include/rcube_imap.inc23
1 files changed, 17 insertions, 6 deletions
diff --git a/program/include/rcube_imap.inc b/program/include/rcube_imap.inc
index 127409dc8..21434167b 100644
--- a/program/include/rcube_imap.inc
+++ b/program/include/rcube_imap.inc
@@ -24,9 +24,6 @@
require_once('lib/imap.inc');
require_once('lib/mime.inc');
-// check for Open-SSL support in PHP build
-//$ICL_SSL = TRUE;
-//$ICL_PORT = 993;
class rcube_imap
{
@@ -75,15 +72,29 @@ class rcube_imap
}
- function connect($host, $user, $pass, $port=143)
+ function connect($host, $user, $pass, $port=143, $use_ssl=FALSE)
{
- global $ICL_PORT;
+ global $ICL_PORT, $CONFIG;
+
+ // check for Open-SSL support in PHP build
+ if ($use_ssl && in_array('openssl', get_loaded_extensions()))
+ $ICL_SSL = TRUE;
$ICL_PORT = $port;
- $this->conn = iil_Connect($host, $user, $pass);
+ $this->conn = iil_Connect($host, $user, $pass, array('imap' => 'check'));
$this->host = $host;
$this->user = $user;
$this->pass = $pass;
+
+ if ($this->conn && ($CONFIG['debug_level'] & 8))
+ print $this->conn->message;
+
+ else if (!$this->conn && $GLOBALS['iil_error'])
+ {
+ raise_error(array('code' => 403,
+ 'type' => 'imap',
+ 'message' => $GLOBALS['iil_error']), TRUE, FALSE);
+ }
return $this->conn ? TRUE : FALSE;
}