Problemy z imapami PHP

Muszę mieć możliwość korzystania z mojego Gmaila ze skryptu php. Ale bez względu na to, co próbuję, ciało wiadomości wychodzi z gówno z postaciami takimi jak = 3D i znaki równości losowych. Czasami pojawia się jako base64 lub nic na wszystkich. Jak mogę pobrać wiadomość e-mail i wysłać ją w czystym html HTMLPurifier lub zwykłym tekście w pre jeśli żaden html nie jest dostępny.

$overview = imap_fetch_overview($inbox,$email_number,0);

$body_pre = imap_fetchbody($inbox, $email_number, 2.1); 

$message = imap_fetchbody($inbox, $email_number, 2.2); 

$message = base64_decode($message);

if (empty($message))
 {
  $message = $body_pre;
  $message = preg_replace('@(https?://([-\w\.]+)+(:\d+)?((/[\w/_\.%\-+~]*)?(\?\S+)?)?)@', '<a href="$1">$1</a>',$message);
$message = '<pre>'.htmlentities($message).'</pre>';  

}else{

 $cleanconfig = HTMLPurifier_Config::createDefault();
 $cleanconfig->set('Core.Encoding', 'UTF-8');
 $cleanconfig->set('HTML.Doctype', 'HTML 4.01 Transitional');
 $purifier = new HTMLPurifier($cleanconfig);

  $message = $purifier->purify($message);

 }

ten kod $ message jest pusty.

questionAnswers(1)

yourAnswerToTheQuestion