mail: support invalid and repeated requests
authorMischa POSLAWSKY <perl@shiar.org>
Wed, 9 Dec 2020 09:38:56 +0000 (10:38 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Sat, 19 Dec 2020 02:01:43 +0000 (03:01 +0100)
Fix random sitemap pages.

mail/index.php

index 908e53165c013d4383bc697d59eeb5ec5ca172e2..2b6e6008214199078b2f663a8ae55449badbd922 100644 (file)
@@ -2,6 +2,7 @@
 $mailbox = 'mail/inbox';
 @list ($msgid) = explode('/', ltrim($Page->path, '/'));
 
+if (!function_exists('parsemailhead')) {
 function parsemailhead($headerdata)
 {
        $headlist = iconv_mime_decode_headers($headerdata, ICONV_MIME_DECODE_CONTINUE_ON_ERROR);
@@ -12,9 +13,14 @@ function parsemailhead($headerdata)
        });
        return $headlist;
 }
+}
 
 if ($msgid) {
        $filename = "$mailbox/$msgid";
+       if (!is_readable($filename)) {
+               return TRUE;
+       }
+
        list ($headerdata, $rawbody) = explode("\n\n", file_get_contents($filename), 2);
        $head = parsemailhead($headerdata);
        $head['date']->setTimezone(new DateTimeZone(date_default_timezone_get()));