| | |
| | | if (strlen($_POST['_draft_saveid']) > 3) |
| | | $olddraftmessageid = get_input_value('_draft_saveid', RCUBE_INPUT_POST); |
| | | |
| | | $message_id = sprintf('<%s@%s>', md5(uniqid('rcmail'.rand(),true)), $RCMAIL->config->mail_domain($_SESSION['imap_host'])); |
| | | $message_id = sprintf('<%s@%s>', md5(uniqid('rcmail'.mt_rand(),true)), $RCMAIL->config->mail_domain($_SESSION['imap_host'])); |
| | | |
| | | // set default charset |
| | | $input_charset = $OUTPUT->get_charset(); |
| | |
| | | $mailto = 'undisclosed-recipients:;'; |
| | | |
| | | // get sender name and address |
| | | $from = get_input_value('_from', RCUBE_INPUT_POST); |
| | | $from = get_input_value('_from', RCUBE_INPUT_POST, true, $message_charset); |
| | | $identity_arr = rcmail_get_identity($from); |
| | | |
| | | if (!$identity_arr && ($from = rcmail_email_input_format($from))) { |
| | | if (preg_match('/(<\S+@\S+)/', $from, $m)) |
| | | if (preg_match('/(\S+@\S+)/', $from, $m)) |
| | | $identity_arr['mailto'] = $m[1]; |
| | | } else |
| | | $from = $identity_arr['mailto']; |
| | |
| | | // generic footer for all messages |
| | | if (!empty($CONFIG['generic_message_footer'])) { |
| | | $footer = file_get_contents(realpath($CONFIG['generic_message_footer'])); |
| | | $footer = rcube_charset_convert($footer, 'UTF-8', $message_charset); |
| | | $footer = rcube_charset_convert($footer, RCMAIL_CHARSET, $message_charset); |
| | | } |
| | | } |
| | | |
| | |
| | | $OUTPUT->send('iframe'); |
| | | } |
| | | |
| | | $sent = rcmail_deliver_message($MAIL_MIME, $from, $mailto); |
| | | $sent = rcmail_deliver_message($MAIL_MIME, $from, $mailto, $smtp_error); |
| | | |
| | | // return to compose page if sending failed |
| | | if (!$sent) |
| | | { |
| | | $OUTPUT->show_message("sendingfailed", 'error'); |
| | | if ($smtp_error) |
| | | $OUTPUT->show_message($smtp_error['label'], 'error', $smtp_error['vars']); |
| | | else |
| | | $OUTPUT->show_message('sendingfailed', 'error'); |
| | | $OUTPUT->send('iframe'); |
| | | } |
| | | |