// NOTE: this hook changed in 1.5.2 from sending $Result and
// $composeMessage as args #2 and #3 to being in an array
// under arg #2
- do_hook('compose_send_after', $temp=array(&$Result, &$composeMessage, &$mail_sent));
+ $temp = array(&$Result, &$composeMessage, &$mail_sent);
+ do_hook('compose_send_after', $temp);
if (! $Result) {
showInputForm($session);
exit();
$request_dr = $mdn_user_support && !empty($orig_header->drnt) ? '1' : '0';
/* remember the references and in-reply-to headers in case of an reply */
+//FIXME: it would be better to fiddle with headers inside of the message object or possibly when delivering the message to its destination (drafts folder?); is this possible?
$composeMessage->rfc822_header->more_headers['References'] = $orig_header->references;
$composeMessage->rfc822_header->more_headers['In-Reply-To'] = $orig_header->in_reply_to;
// rewrap the body to clean up quotations and line lengths
}
/* Receipt: On Delivery */
- if (isset($request_dr) && $request_dr) {
+ if (!empty($request_dr)) {
+//FIXME: it would be better to fiddle with headers inside of the message object or possibly when delivering the message to its destination; is this possible?
$rfc822_header->more_headers['Return-Receipt-To'] = $from->mailbox.'@'.$from->domain;
} elseif (isset($rfc822_header->more_headers['Return-Receipt-To'])) {
unset($rfc822_header->more_headers['Return-Receipt-To']);
$stream = $deliver->initStream($composeMessage,$sendmail_path);
} elseif ($draft) {
global $draft_folder;
- require_once(SM_PATH . 'class/deliver/Deliver_IMAP.class.php');
$imap_stream = sqimap_login($username, false, $imapServerAddress,
$imapPort, 0);
if (sqimap_mailbox_exists ($imap_stream, $draft_folder)) {
require_once(SM_PATH . 'class/deliver/Deliver_IMAP.class.php');
$imap_deliver = new Deliver_IMAP();
- $length = $imap_deliver->mail($composeMessage, 0, $reply_id, $reply_ent_id);
- sqimap_append ($imap_stream, $draft_folder, $length);
- $imap_deliver->mail($composeMessage, $imap_stream, $reply_id, $reply_ent_id);
- sqimap_append_done ($imap_stream, $draft_folder);
+ $length = $imap_deliver->mail($composeMessage, $imap_stream, $reply_id, $reply_ent_id, $draft_folder);
sqimap_logout($imap_stream);
unset ($imap_deliver);
$composeMessage->purgeAttachments();
plain_error_message($msg);
} else {
unset ($deliver);
- $move_to_sent = getPref($data_dir,$username,'move_to_sent');
$imap_stream = sqimap_login($username, false, $imapServerAddress, $imapPort, 0);
- /* Move to sent code */
- if (isset($default_move_to_sent) && ($default_move_to_sent != 0)) {
- $svr_allow_sent = true;
- } else {
- $svr_allow_sent = false;
- }
-
- if (isset($sent_folder) && (($sent_folder != '') || ($sent_folder != 'none'))
- && sqimap_mailbox_exists( $imap_stream, $sent_folder)) {
- $fld_sent = true;
- } else {
- $fld_sent = false;
- }
- if ((isset($move_to_sent) && ($move_to_sent != 0)) || (!isset($move_to_sent))) {
- $lcl_allow_sent = true;
- } else {
- $lcl_allow_sent = false;
- }
+ // mark as replied or forwarded if applicable
+ //
+ global $what, $iAccount, $startMessage, $passed_id, $mailbox;
- global $passed_id, $mailbox;
- if (($fld_sent && $svr_allow_sent && !$lcl_allow_sent) || ($fld_sent && $lcl_allow_sent)) {
- if ($action == 'reply' || $action == 'reply_all') {
- $save_reply_with_orig=getPref($data_dir,$username,'save_reply_with_orig');
- if ($save_reply_with_orig) {
- $sent_folder = $mailbox;
- }
- }
- sqimap_append ($imap_stream, $sent_folder, $length);
- require_once(SM_PATH . 'class/deliver/Deliver_IMAP.class.php');
- $imap_deliver = new Deliver_IMAP();
- $imap_deliver->mail($composeMessage, $imap_stream, $reply_id, $reply_ent_id);
- sqimap_append_done ($imap_stream, $sent_folder);
- unset ($imap_deliver);
- }
-
- global $what, $iAccount, $startMessage;
-
- $composeMessage->purgeAttachments();
if ($action=='reply' || $action=='reply_all' || $action=='forward' || $action=='forward_as_attachment') {
require(SM_PATH . 'functions/mailbox_display.php');
$aMailbox = sqm_api_mailbox_select($imap_stream, $iAccount, $mailbox,array('setindex' => $what, 'offset' => $startMessage),array());
sqsession_register($mailbox_cache,'mailbox_cache');
}
- sqimap_logout($imap_stream);
}
+
+
+ // move to sent folder
+ //
+ $move_to_sent = getPref($data_dir,$username,'move_to_sent');
+ if (isset($default_move_to_sent) && ($default_move_to_sent != 0)) {
+ $svr_allow_sent = true;
+ } else {
+ $svr_allow_sent = false;
+ }
+
+ if (isset($sent_folder) && (($sent_folder != '') || ($sent_folder != 'none'))
+ && sqimap_mailbox_exists( $imap_stream, $sent_folder)) {
+ $fld_sent = true;
+ } else {
+ $fld_sent = false;
+ }
+
+ if ((isset($move_to_sent) && ($move_to_sent != 0)) || (!isset($move_to_sent))) {
+ $lcl_allow_sent = true;
+ } else {
+ $lcl_allow_sent = false;
+ }
+
+ if (($fld_sent && $svr_allow_sent && !$lcl_allow_sent) || ($fld_sent && $lcl_allow_sent)) {
+ if ($action == 'reply' || $action == 'reply_all') {
+ $save_reply_with_orig=getPref($data_dir,$username,'save_reply_with_orig');
+ if ($save_reply_with_orig) {
+ $sent_folder = $mailbox;
+ }
+ }
+ require_once(SM_PATH . 'class/deliver/Deliver_IMAP.class.php');
+ $imap_deliver = new Deliver_IMAP();
+ $imap_deliver->mail($composeMessage, $imap_stream, $reply_id, $reply_ent_id, $sent_folder);
+ unset ($imap_deliver);
+ }
+
+
+ // final cleanup
+ //
+ $composeMessage->purgeAttachments();
+ sqimap_logout($imap_stream);
+
}
return $success;
}