| | |
| | | // fetch message body |
| | | $message_body = get_input_value('_message', RCUBE_INPUT_POST, TRUE, $message_charset); |
| | | |
| | | if ($isHtml) { |
| | | $font = rcube_fontdefs($RCMAIL->config->get('default_font', 'Verdana')); |
| | | $bstyle = $font && is_string($font) ? " style='font-family: $font'" : ''; |
| | | |
| | | // append doctype and html/body wrappers |
| | | $message_body = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">' . |
| | | "\r\n<html><body$bstyle>\r\n" . $message_body; |
| | | } |
| | | |
| | | if (!$savedraft) { |
| | | if ($isHtml) { |
| | | // remove signature's div ID |
| | |
| | | $bstyle = 'padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px; width:100%'; |
| | | $message_body = preg_replace('/<blockquote>/', |
| | | '<blockquote type="cite" style="'.$bstyle.'">', $message_body); |
| | | |
| | | // append doctype and html/body wrappers |
| | | $message_body = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">' . |
| | | "\r\n<html><body>\r\n" . $message_body; |
| | | } |
| | | |
| | | // Check spelling before send |
| | |
| | | |
| | | if ($footer) |
| | | $message_body .= "\r\n" . $footer; |
| | | if ($isHtml) |
| | | $message_body .= "\r\n</body></html>\r\n"; |
| | | } |
| | | |
| | | if ($isHtml) { |
| | | $message_body .= "\r\n</body></html>\r\n"; |
| | | } |
| | | |
| | | // set line length for body wrapping |
| | |
| | | |
| | | // set replied/forwarded flag |
| | | if ($COMPOSE['reply_uid']) |
| | | $IMAP->set_flag($COMPOSE['reply_uid'], 'ANSWERED', $COMPOSE['mailbox']); |
| | | $RCMAIL->imap->set_flag($COMPOSE['reply_uid'], 'ANSWERED', $COMPOSE['mailbox']); |
| | | else if ($COMPOSE['forward_uid']) |
| | | $IMAP->set_flag($COMPOSE['forward_uid'], 'FORWARDED', $COMPOSE['mailbox']); |
| | | $RCMAIL->imap->set_flag($COMPOSE['forward_uid'], 'FORWARDED', $COMPOSE['mailbox']); |
| | | |
| | | } // End of SMTP Delivery Block |
| | | |
| | |
| | | |
| | | if ($store_target) { |
| | | // check if folder is subscribed |
| | | if ($IMAP->mailbox_exists($store_target, true)) |
| | | if ($RCMAIL->imap->mailbox_exists($store_target, true)) |
| | | $store_folder = true; |
| | | // folder may be existing but not subscribed (#1485241) |
| | | else if (!$IMAP->mailbox_exists($store_target)) |
| | | $store_folder = $IMAP->create_mailbox($store_target, true); |
| | | else if ($IMAP->subscribe($store_target)) |
| | | else if (!$RCMAIL->imap->mailbox_exists($store_target)) |
| | | $store_folder = $RCMAIL->imap->create_mailbox($store_target, true); |
| | | else if ($RCMAIL->imap->subscribe($store_target)) |
| | | $store_folder = true; |
| | | |
| | | // append message to sent box |
| | |
| | | 'message' => "Could not create message: ".$msg->getMessage()), |
| | | TRUE, FALSE); |
| | | else { |
| | | $saved = $IMAP->save_message($store_target, $msg, $headers, $mailbody_file ? true : false); |
| | | $saved = $RCMAIL->imap->save_message($store_target, $msg, $headers, $mailbody_file ? true : false); |
| | | } |
| | | |
| | | if ($mailbody_file) { |
| | |
| | | if ($olddraftmessageid) { |
| | | // delete previous saved draft |
| | | // @TODO: use message UID (remember to check UIDVALIDITY) to skip this SEARCH |
| | | $delete_idx = $IMAP->search_once($CONFIG['drafts_mbox'], |
| | | $delete_idx = $RCMAIL->imap->search_once($CONFIG['drafts_mbox'], |
| | | 'HEADER Message-ID '.$olddraftmessageid); |
| | | |
| | | if ($del_uid = $delete_idx->getElement('FIRST')) { |
| | | $deleted = $IMAP->delete_message($del_uid, $CONFIG['drafts_mbox']); |
| | | $deleted = $RCMAIL->imap->delete_message($del_uid, $CONFIG['drafts_mbox']); |
| | | |
| | | // raise error if deletion of old draft failed |
| | | if (!$deleted) |
| | |
| | | |
| | | // remember new draft-uid ($saved could be an UID or TRUE here) |
| | | if (is_bool($saved)) { |
| | | $draft_idx = $IMAP->search_once($CONFIG['drafts_mbox'], 'HEADER Message-ID '.$msgid); |
| | | $draft_idx = $RCMAIL->imap->search_once($CONFIG['drafts_mbox'], 'HEADER Message-ID '.$msgid); |
| | | $saved = $draft_idx->getElement('FIRST'); |
| | | } |
| | | $COMPOSE['param']['draft_uid'] = $saved; |