/**
  * create Tinebase_Mail from Zend_Mail_Message
  * 
  * @param  Zend_Mail_Message  $_zmm
  * @param  string             $_replyBody
  * @return Tinebase_Mail
  */
 public static function createFromZMM(Zend_Mail_Message $_zmm, $_replyBody = null)
 {
     $contentStream = fopen("php://temp", 'r+');
     fputs($contentStream, $_zmm->getContent());
     rewind($contentStream);
     $mp = new Zend_Mime_Part($contentStream);
     self::_getMetaDataFromZMM($_zmm, $mp);
     // append old body when no multipart/mixed
     if ($_replyBody !== null && $_zmm->headerExists('content-transfer-encoding')) {
         $mp = self::_appendReplyBody($mp, $_replyBody);
     } else {
         $mp->decodeContent();
         if ($_zmm->headerExists('content-transfer-encoding')) {
             switch ($_zmm->getHeader('content-transfer-encoding')) {
                 case Zend_Mime::ENCODING_BASE64:
                     // BASE64 encode has a bug that swallows the last char(s)
                     $bodyEncoding = Zend_Mime::ENCODING_7BIT;
                     break;
                 default:
                     $bodyEncoding = $_zmm->getHeader('content-transfer-encoding');
             }
         } else {
             $bodyEncoding = Zend_Mime::ENCODING_7BIT;
         }
         if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
             Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Using encoding: ' . $bodyEncoding);
         }
         $mp->encoding = $bodyEncoding;
     }
     $result = new Tinebase_Mail('utf-8');
     $result->setBodyText($mp);
     $result->setHeadersFromZMM($_zmm);
     return $result;
 }