+ $MESSAGE->compose['from_email'] = $ident['email'];
+ $MESSAGE->compose['from'] = $from_id;
+}
+
+// Set other headers
+$a_recipients = array();
+$parts = array('to', 'cc', 'bcc', 'replyto', 'followupto');
+
+foreach ($parts as $header) {
+ $fvalue = '';
+ $decode_header = true;
+
+ // we have a set of recipients stored is session
+ if ($header == 'to' && ($mailto_id = $_SESSION['compose']['param']['mailto'])
+ && $_SESSION['mailto'][$mailto_id]
+ ) {
+ $fvalue = urldecode($_SESSION['mailto'][$mailto_id]);
+ $decode_header = false;
+ }
+ else if (!empty($_POST['_'.$header])) {
+ $fvalue = get_input_value('_'.$header, RCUBE_INPUT_POST, TRUE);
+ }
+ else if (!empty($_SESSION['compose']['param'][$header])) {
+ $fvalue = $_SESSION['compose']['param'][$header];
+ }
+ else if ($compose_mode == RCUBE_COMPOSE_REPLY) {
+ // get recipent address(es) out of the message headers
+ if ($header == 'to') {
+ $mailfollowup = $MESSAGE->headers->others['mail-followup-to'];
+ $mailreplyto = $MESSAGE->headers->others['mail-reply-to'];
+
+ if ($MESSAGE->reply_all == 'list' && $mailfollowup)
+ $fvalue = $mailfollowup;
+ else if ($MESSAGE->reply_all == 'list'
+ && preg_match('/<mailto:([^>]+)>/i', $MESSAGE->headers->others['list-post'], $m))
+ $fvalue = $m[1];
+ else if ($MESSAGE->reply_all && $mailfollowup)
+ $fvalue = $mailfollowup;
+ else if ($mailreplyto)
+ $fvalue = $mailreplyto;
+ else if (!empty($MESSAGE->headers->replyto))
+ $fvalue = $MESSAGE->headers->replyto;
+ else if (!empty($MESSAGE->headers->from))
+ $fvalue = $MESSAGE->headers->from;
+ }
+ // add recipient of original message if reply to all
+ else if ($header == 'cc' && !empty($MESSAGE->reply_all) && $MESSAGE->reply_all != 'list') {