thomascube
2006-07-01 50844277ca2ce9b98f5d732b07ffe7a4627ff72c
program/steps/mail/sendmail.inc
@@ -62,15 +62,14 @@
  return FALSE;  
  }
if (strlen($_POST['_draft_saveid']) > 3) {
  $olddraftmessageid = $_POST['_draft_saveid'];
}
if (strlen($_POST['_draft_newsaveid']) > 3) {
  $newdraftmessageid = $_POST['_draft_newsaveid'];
}
if ($_POST['_draft']) {
  $savedraft = 1;
}
if (strlen($_POST['_draft_saveid']) > 3)
  $olddraftmessageid = get_input_value('_draft_saveid', RCUBE_INPUT_POST);
if (strlen($_POST['_draft_newsaveid']) > 3)
  $newdraftmessageid = get_input_value('_draft_newsaveid', RCUBE_INPUT_POST);
$savedraft = !empty($_POST['_draft']) ? TRUE : FALSE;
 
/****** check submission and compose message ********/
@@ -95,7 +94,7 @@
// decode address strings
$to_address_arr = $IMAP->decode_address_list($mailto);
$identity_arr = rcmail_get_identity($_POST['_from']);
$identity_arr = rcmail_get_identity(get_input_value('_from', RCUBE_INPUT_POST));
$from = $identity_arr['mailto'];
@@ -103,11 +102,13 @@
// try the message-id submitted by the compose form
if ($newdraftmessageid) {
if ($newdraftmessageid)
  $message_id = sprintf('<%s>',$newdraftmessageid);
} else {
else
  $message_id = sprintf('<%s@%s>', md5(uniqid('rcmail'.rand(),true)), $_SESSION['imap_host']);
}
if (empty($identity_arr['string']))
  $identity_arr['string'] = $from;
// compose headers array
@@ -218,7 +219,7 @@
                       'text_charset'  => $message_charset);
// compose message body and get headers
$msg_body = $MAIL_MIME->get($message_param);
$msg_body = &$MAIL_MIME->get($message_param);
$msg_subject = $headers['Subject'];
@@ -295,11 +296,10 @@
  } // End of SMTP Delivery Block
// Determine which folder to save message
if ($savedraft) {
   $store_target = 'drafts_mbox';
} else {
   $store_target = 'sent_mbox';
}
if ($savedraft)
  $store_target = 'drafts_mbox';
else
  $store_target = 'sent_mbox';
if ($CONFIG[$store_target])
  {
@@ -311,10 +311,13 @@
    $store_folder = $IMAP->create_mailbox($CONFIG[$store_target], TRUE);
  else
    $store_folder = TRUE;
  // add headers to message body
  $msg_body = $header_str."\r\n".$msg_body;
  // append message to sent box
  if ($store_folder)
    $saved = $IMAP->save_message($CONFIG[$store_target], $header_str."\r\n".$msg_body);
    $saved = $IMAP->save_message($CONFIG[$store_target], $msg_body);
  // raise error if saving failed
  if (!$saved)
@@ -323,7 +326,8 @@
                      'file' => __FILE__,
                      'message' => "Could not save message in $CONFIG[$store_target]"), TRUE, FALSE);
  if ($olddraftmessageid) {
  if ($olddraftmessageid)
    {
    // delete previous saved draft
    $a_deleteid = $IMAP->search($CONFIG['drafts_mbox'],'HEADER Message-ID',$olddraftmessageid);
    $deleted = $IMAP->delete_message($IMAP->get_uid($a_deleteid[0],$CONFIG['drafts_mbox']),$CONFIG['drafts_mbox']);