I had an issue with the content that was returned by imap_fetchbody - either the function itself, or the mail-server, was inserting "=\r\n" at points into the text body returned. This may depend upon the content type (i.e. plain text / csv, as opposed to something like a Word document), but you may need to do something like:
$body = preg_replace("/=(\r?)\n/", '', imap_fetchbody($mailbox, $message, $part));