| | |
| | | |
| | | $ICL_PORT = $port; |
| | | $IMAP_USE_INTERNAL_DATE = false; |
| | | |
| | | |
| | | $attempt = 0; |
| | | do { |
| | | $data = rcmail::get_instance()->plugins->exec_hook('imap_connect', array('host' => $host, 'user' => $user, 'attempt' => ++$attempt)); |
| | |
| | | // get server properties |
| | | if ($this->conn) |
| | | { |
| | | if (!empty($this->conn->delimiter)) |
| | | $this->delimiter = $this->conn->delimiter; |
| | | if (!empty($this->conn->rootdir)) |
| | | { |
| | | $this->set_rootdir($this->conn->rootdir); |
| | | $this->root_ns = preg_replace('/[.\/]$/', '', $this->conn->rootdir); |
| | | } |
| | | if (empty($this->delimiter)) |
| | | $this->get_hierarchy_delimiter(); |
| | | } |
| | | |
| | | return $this->conn ? TRUE : FALSE; |
| | |
| | | else |
| | | $this->struct_charset = $this->_structure_charset($structure); |
| | | |
| | | /* |
| | | @TODO: here we can recognize malformed BODYSTRUCTURE and parse |
| | | the message in other way to create our own message structure. |
| | | Example of structure for malformed MIME message: |
| | | ("text" "plain" ("charset" "us-ascii") NIL NIL "7bit" 2154 70 NIL NIL NIL) |
| | | |
| | | if ($headers->ctype != 'text/plain' |
| | | && !is_array($structure[0]) && $structure[0] == 'text' |
| | | && !is_array($structure[1]) && $structure[1] == 'plain') |
| | | { } |
| | | */ |
| | | // Here we can recognize malformed BODYSTRUCTURE and |
| | | // 1. [@TODO] parse the message in other way to create our own message structure |
| | | // 2. or just show the raw message body. |
| | | // Example of structure for malformed MIME message: |
| | | // ("text" "plain" ("charset" "us-ascii") NIL NIL "7bit" 2154 70 NIL NIL NIL) |
| | | if ($headers->ctype && $headers->ctype != 'text/plain' |
| | | && $structure[0] == 'text' && $structure[1] == 'plain') { |
| | | return false; |
| | | } |
| | | |
| | | $struct = &$this->_structure_part($structure); |
| | | $struct->headers = get_object_vars($headers); |