UTAlan

RSS

PHP: Save Email as .eml

$rfc822header = @imap_fetchheader($mbox, $messageid) or die("Couldn't retrieve RFC822 header info on IMAP server: " . imap_last_error());
$h = @imap_rfc822_parse_headers($rfc822header) or die("Couldn't parse RFC822 header info on IMAP server: " . imap_last_error());

/* Save the email as an EML file */
$safesubject = substr(str_replace(" ", "_", str_replace( array("/","\\",":","*","?","\"","","|") , "", $h->subject )), 0, 50);
$emlfile = "./files/" . get("projectid") . "/message-" . imap_uid($mbox, $messageid) . "-" . strtotime($h->Date) . "-$safesubject" . ".eml";
@imap_savebody($mbox, $emlfile, $messageid) or die("Couldn't download message from IMAP server: " . imap_last_error());
@imap_delete($mbox, $messageid) or die("Couldn't delete message from IMAP server: " . imap_last_error());