X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fretrievalerror.php;h=57fc68413fb9c1c95200ccd6d9c72a0f9a0e23d4;hb=95dcee50e4d7ffe1d0b686377042ff3b735bc81c;hp=bd1fb1df85ef419b827bd4c5036794acb96916b2;hpb=895905c0f766ea03e85deab260b4bb1522dd0e3c;p=squirrelmail.git
diff --git a/src/retrievalerror.php b/src/retrievalerror.php
index bd1fb1df..57fc6841 100644
--- a/src/retrievalerror.php
+++ b/src/retrievalerror.php
@@ -1,109 +1,133 @@
The message has been submitted to the developers knowledgebase!
' .
- 'Thank you very much
' .
- 'Please submit every message only once
' .
- "View the message
";
+/**
+ * retrievalerror.php
+ *
+ * Copyright (c) 1999-2002 The SquirrelMail Project Team
+ * Licensed under the GNU GPL. For full terms see the file COPYING.
+ *
+ * Submits a message which Squirrelmail couldn't handle
+ * because of malformedness of the message
+ * sends it to retrievalerror@squirrelmail.org
+ * Of course, this only happens when the end user has chosen to do so
+ *
+ * $Id$
+ */
+
+/* Path for SquirrelMail required files. */
+define('SM_PATH','../');
+
+/* SquirrelMail required files. */
+require_once(SM_PATH . 'include/validate.php');
+require_once(SM_PATH . 'functions/imap.php');
+require_once(SM_PATH . 'functions/smtp.php');
+require_once(SM_PATH . 'functions/page_header.php');
+require_once(SM_PATH . 'include/load_prefs.php');
+
+$destination = 'retrievalerror@squirrelmail.org';
+$attachments = array();
+
+/* globals */
+
+$key = $_COOKIE['key'];
+$username = $_SESSION['username'];
+$onetimepad = $_SESSION['onetimepad'];
+
+$mailbox = $_GET['mailbox'];
+$passed_id = $_GET['passed_id'];
+$startMessage = $_GET['startMessage'];
+$show_more = $_GET['show_more'];
+$response = $_GET['response'];
+$message = $_GET['message'];
+$topline = $_GET['topline'];
+
+if(isset($_GET['where'])) {
+ $where = $_GET['where'];
+}
+if(isset($_GET['what'])) {
+ $what = $_GET['what'];
+}
+
+/* end globals */
+
+function ClearAttachments() {
+ global $attachments, $attachment_dir, $username;
+
+ $hashed_attachment_dir = getHashedDir($username, $attachment_dir);
+ foreach ($attachments as $info) {
+ $attached_file = "$hashed_attachment_dir/$info[localfilename]";
+ if (file_exists($attached_file)) {
+ unlink($attached_file);
+ }
+ }
+
+ $attachments = array();
+}
+
+$imap_stream = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
+sqimap_mailbox_select($imap_stream, $mailbox);
+$sid = sqimap_session_id();
+fputs ($imap_stream, "$sid FETCH $passed_id BODY[]\r\n");
+$data = sqimap_read_data ($imap_stream, $sid, true, $response, $message);
+sqimap_logout($imap_stream);
+$topline2 = array_shift($data);
+$thebastard = implode('', $data);
+
+$hashed_attachment_dir = getHashedDir($username, $attachment_dir);
+$localfilename = GenerateRandomString(32, '', 7);
+$full_localfilename = "$hashed_attachment_dir/$localfilename";
+while (file_exists($full_localfilename)) {
+ $localfilename = GenerateRandomString(32, '', 7);
+ $full_localfilename = "$hashed_attachment_dir/$localfilename";
+}
+
+/* Write Attachment to file */
+$fp = fopen ($full_localfilename, 'wb');
+fputs ($fp, $thebastard);
+fclose ($fp);
+
+$newAttachment = array();
+$newAttachment['localfilename'] = $localfilename;
+$newAttachment['remotefilename'] = 'message.duh';
+$newAttachment['type'] = 'application/octet-stream';
+$attachments[] = $newAttachment;
+
+$body = "Response: $response\n" .
+ "Message: $message\n" .
+ "FETCH line: $topline\n" .
+ "Server Type: $imap_server_type\n";
+
+$imap_stream = fsockopen ($imapServerAddress, $imapPort, &$error_number, &$error_string);
+$server_info = fgets ($imap_stream, 1024);
+if ($imap_stream) {
+ $body .= " Server info: $server_info";
+ fputs ($imap_stream, "a001 CAPABILITY\r\n");
+ $read = fgets($imap_stream, 1024);
+ $list = explode(' ', $read);
+ array_shift($list);
+ array_shift($list);
+ $read = implode(' ', $list);
+ $body .= " Capabilities: $read";
+ fputs ($imap_stream, "a002 LOGOUT\r\n");
+ fclose($imap_stream);
+}
+
+$body .= "\nFETCH line for gathering the whole message: $topline2\n";
+
+sendMessage($destination, '', '', 'submitted message', $body, False, 0);
+
+displayPageHeader($color, $mailbox);
+
+$par = 'mailbox='.urlencode($mailbox)."&passed_id=$passed_id";
+if (isset($where) && isset($what)) {
+ $par .= '&where='.urlencode($where).'&what='.urlencode($what);
+} else {
+ $par .= "&startMessage=$startMessage&show_more=0";
+}
+
+echo '
The message has been submitted to the developers knowledgebase!
' .
+ 'Thank you very much
' .
+ 'Please submit every message only once
' .
+ "View the message
";
?>