/** This code sends a mail. ** ** There are 3 modes of operation: ** - Start new mail ** - Add an attachment ** - Send mail **/ session_start(); if (!isset($config_php)) include("../config/config.php"); if (!isset($strings_php)) include("../functions/strings.php"); if (!isset($page_header_php)) include("../functions/page_header.php"); if (!isset($imap_php)) include("../functions/imap.php"); if (!isset($date_php)) include("../functions/date.php"); if (!isset($mime_php)) include("../functions/mime.php"); if (!isset($smtp_php)) include("../functions/smtp.php"); if (!isset($display_messages_php)) include("../functions/display_messages.php"); include("../src/load_prefs.php"); // This function is used when not sending or adding attachments function newMail () { global $forward_id, $imapConnection, $msg, $ent_num, $body_ary, $body, $reply_id, $send_to, $send_to_cc, $mailbox; $send_to = decodeHeader($send_to); $send_to_cc = decodeHeader($send_to_cc); if ($forward_id) { sqimap_mailbox_select($imapConnection, $mailbox); $msg = sqimap_get_message($imapConnection, $forward_id, $mailbox); if (containsType($msg, "text", "html", $ent_num)) { $body = decodeBody($msg["ENTITIES"][$ent_num]["BODY"], $msg["ENTITIES"][$ent_num]["ENCODING"]); } else if (containsType($msg, "text", "plain", $ent_num)) { $body = decodeBody($msg["ENTITIES"][$ent_num]["BODY"], $msg["ENTITIES"][$ent_num]["ENCODING"]); } // add other primary displaying msg types here else { // find any type that's displayable if (containsType($msg, "text", "any_type", $ent_num)) { $body = decodeBody($msg["ENTITIES"][$ent_num]["BODY"], $msg["ENTITIES"][$ent_num]["ENCODING"]); } else if (containsType($msg, "msg", "any_type", $ent_num)) { $body = decodeBody($msg["ENTITIES"][$ent_num]["BODY"], $msg["ENTITIES"][$ent_num]["ENCODING"]); } else { $body = _("No Message"); } } $type1 = $msg["ENTITIES"][$ent_num]["TYPE1"]; $tmp = _("-------- Original Message ---------\n"); $body_ary = explode("\n", $body); $body = ""; for ($i=0;$i < count($body_ary);$i++) { if ($type1 == "html") $tmp .= strip_tags($body_ary[$i]); else $tmp .= $body_ary[$i]; $body = "$body$tmp\n"; $tmp = ""; } } if ($reply_id) { sqimap_mailbox_select($imapConnection, $mailbox); $msg = sqimap_get_message($imapConnection, $reply_id, $mailbox); if (containsType($msg, "text", "html", $ent_num)) { $body = decodeBody($msg["ENTITIES"][$ent_num]["BODY"], $msg["ENTITIES"][$ent_num]["ENCODING"], false); } else if (containsType($msg, "text", "plain", $ent_num)) { $body = decodeBody($msg["ENTITIES"][$ent_num]["BODY"], $msg["ENTITIES"][$ent_num]["ENCODING"], false); } // add other primary displaying msg types here else { // find any type that's displayable if (containsType($msg, "text", "any_type", $ent_num)) { $body = decodeBody($msg["ENTITIES"][$ent_num]["BODY"], $msg["ENTITIES"][$ent_num]["ENCODING"], false); } else if (containsType($msg, "msg", "any_type", $ent_num)) { $body = decodeBody($msg["ENTITIES"][$ent_num]["BODY"], $msg["ENTITIES"][$ent_num]["ENCODING"], false); } else { $body = _("No Message"); } } $type1 = $msg["ENTITIES"][$ent_num]["TYPE1"]; $body_ary = explode("\n", $body); $body = ""; for ($i=0;$i < count($body_ary);$i++) { if ($type1 == "html") $tmp = strip_tags($body_ary[$i]); else $tmp = $body_ary[$i]; $body = "$body> $tmp\n"; } } $send_to = sqimap_find_email($send_to); $send_to = ereg_replace("\"", "", $send_to); $send_to = stripslashes($send_to); /** This formats a CC string if they hit "reply all" **/ if ($send_to_cc != "") { $send_to_cc = ereg_replace(";", ",", $send_to_cc); $sendcc = explode(",", $send_to_cc); $send_to_cc = ""; for ($i = 0; $i < count($sendcc); $i++) { $sendcc[$i] = trim($sendcc[$i]); if ($sendcc[$i] == "") continue; $sendcc[$i] = sqimap_find_email($sendcc[$i]); $whofrom = sqimap_find_displayable_name($msg["HEADER"]["FROM"]); $whoreplyto = sqimap_find_email($msg["HEADER"]["REPLYTO"]); if ((strtolower(trim($sendcc[$i])) != strtolower(trim($whofrom))) && (strtolower(trim($sendcc[$i])) != strtolower(trim($whoreplyto))) && (trim($sendcc[$i]) != "")) { $send_to_cc .= trim($sendcc[$i]) . ", "; } } $send_to_cc = trim($send_to_cc); if (substr($send_to_cc, -1) == ",") { $send_to_cc = substr($send_to_cc, 0, strlen($send_to_cc) - 1); } } } // function newMail() function showInputForm () { global $send_to, $send_to_cc, $reply_subj, $forward_subj, $body, $passed_body, $color, $use_signature, $signature, $editor_size, $attachments, $subject, $newmail, $PHPSESSID; $subject = decodeHeader($subject); $reply_subj = decodeHeader($reply_subj); $forward_subj = decodeHeader($forward_subj); echo "\n\n\n"; echo "\n
"; } function showSentForm () { global $PHPSESSID; echo "