| | |
| | | if ($use_ssl && extension_loaded('openssl')) |
| | | $ICL_SSL = $use_ssl == 'imaps' ? 'ssl' : $use_ssl; |
| | | else if ($use_ssl) { |
| | | raise_error(array('code' => 403, 'type' => 'imap', 'file' => __FILE__, |
| | | 'message' => 'Open SSL not available;'), TRUE, FALSE); |
| | | raise_error(array('code' => 403, 'type' => 'imap', |
| | | 'file' => __FILE__, 'line' => __LINE__, |
| | | 'message' => "Open SSL not available"), TRUE, FALSE); |
| | | $port = 143; |
| | | } |
| | | |
| | |
| | | else if (!$this->conn && $GLOBALS['iil_error']) |
| | | { |
| | | $this->error_code = $GLOBALS['iil_errornum']; |
| | | raise_error(array('code' => 403, |
| | | 'type' => 'imap', |
| | | 'message' => $GLOBALS['iil_error']), TRUE, FALSE); |
| | | raise_error(array('code' => 403, 'type' => 'imap', |
| | | 'file' => __FILE__, 'line' => __LINE__, |
| | | 'message' => $GLOBALS['iil_error']), TRUE, FALSE); |
| | | } |
| | | |
| | | // get server properties |
| | |
| | | /** |
| | | * Append a mail message (source) to a specific mailbox |
| | | * |
| | | * @param string Target mailbox |
| | | * @param string Message source |
| | | * @param string Target mailbox |
| | | * @param string The message source string or filename |
| | | * @param string Headers string if $message contains only the body |
| | | * @param boolean True if $message is a filename |
| | | * |
| | | * @return boolean True on success, False on error |
| | | */ |
| | | function save_message($mbox_name, &$message) |
| | | function save_message($mbox_name, &$message, $headers='', $is_file=false) |
| | | { |
| | | $mailbox = $this->mod_mailbox($mbox_name); |
| | | |
| | | // make sure mailbox exists |
| | | if (($mailbox == 'INBOX') || in_array($mailbox, $this->_list_mailboxes())) |
| | | $saved = iil_C_Append($this->conn, $mailbox, $message); |
| | | if (($mailbox == 'INBOX') || in_array($mailbox, $this->_list_mailboxes())) { |
| | | if ($is_file) { |
| | | $separator = rcmail::get_instance()->config->header_delimiter(); |
| | | $saved = iil_C_AppendFromFile($this->conn, $mailbox, $message, |
| | | $headers, $separator.$separator); |
| | | } |
| | | else |
| | | $saved = iil_C_Append($this->conn, $mailbox, $message); |
| | | } |
| | | |
| | | if ($saved) |
| | | { |
| | |
| | | foreach ($this->default_folders as $folder) |
| | | { |
| | | $abs_name = $this->mod_mailbox($folder); |
| | | if (!in_array_nocase($abs_name, $a_folders)) |
| | | if (!in_array($abs_name, $a_folders)) |
| | | $this->create_mailbox($folder, TRUE); |
| | | else if (!in_array_nocase($abs_name, $a_subscribed)) |
| | | else if (!in_array($abs_name, $a_subscribed)) |
| | | $this->subscribe($folder); |
| | | } |
| | | } |
| | |
| | | { |
| | | if (!$mbox_name) |
| | | $mbox_name = $this->mailbox; |
| | | |
| | | $index = array_flip((array)$this->uid_id_map[$mbox_name]); |
| | | if (isset($index[$id])) |
| | | $uid = $index[$id]; |
| | | else |
| | | { |
| | | $uid = iil_C_ID2UID($this->conn, $mbox_name, $id); |
| | | $this->uid_id_map[$mbox_name][$uid] = $id; |
| | | } |
| | | |
| | | if ($uid = array_search($id, (array)$this->uid_id_map[$mbox_name])) |
| | | return $uid; |
| | | |
| | | $uid = iil_C_ID2UID($this->conn, $mbox_name, $id); |
| | | $this->uid_id_map[$mbox_name][$uid] = $id; |
| | | |
| | | return $uid; |
| | | } |