/** * @param $mbox plain text format */ function insertMailsFromMbox($mbox) { if (!$mbox) { echo "Blank mbox. End."; return; } foreach (preg_split('/\\nFrom .+?\\n/', $mbox) as $r) { $e = new PlancakeEmailParser($r); $from = $e->getFieldDecoded('from'); $name = ""; if (preg_match("/(.*) at (.*) \\((.*)\\)/", $from, $matches)) { $from = "{$matches['1']}@{$matches['2']}"; $name = $matches[3]; } $subject = $e->getSubject(); $subject = preg_replace('/^\\[Talk-cz\\] */', '', $subject); dibi::query("INSERT INTO mailarchive", array("msgid" => $e->getHeader('message-id'), "replyid" => $e->getHeader('in-reply-to'), "date" => date("Y-m-d H:i:s", strtotime($e->getHeader('date'))), "from" => $from, "name" => $name, "subject" => $subject, "text" => $e->getPlainBody())); echo "."; } }