Example #1
0
/**
 * @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 ".";
    }
}