void CSmtpClientMtm::GetBodyTextL(CImEmailMessage& aMessage, TMsvId aMsvId)
	{
	CRichText* messageText = CRichText::NewL(iParaFormatLayer, iCharFormatLayer);
	CleanupStack::PushL(messageText);

	aMessage.GetBodyTextL(aMsvId, CImEmailMessage::EThisMessageOnly, *messageText,*iParaFormatLayer,*iCharFormatLayer);

	Body().Reset();
	Body().AppendTakingSolePictureOwnershipL(*messageText);

	CleanupStack::PopAndDestroy();
	}
void CTestCImPlainTextStore::TestStoreRichTextAsPlainTextL()
	{	
	CreateNewPlaintextMessageL();
	
	CMsvEntry* entry = testUtils->iMsvSession->GetEntryL(newMessageId);
	CImEmailMessage* imEmailMessage = CImEmailMessage::NewLC(*entry);
	
	iCImPlainBodyTextStore = imEmailMessage->OpenPlainBodyTextForWriteL();

	CParaFormatLayer* paraLayer = CParaFormatLayer::NewL();
	
	CCharFormatLayer* charLayer = CCharFormatLayer::NewL();
		
	CRichText* richText=CRichText::NewL(paraLayer, charLayer, CEditableText::EFlatStorage, KBufferGranularity);


	TBuf<50> theMessageContents = _L("Test message contents");
	richText->InsertL(0, theMessageContents);
	TInt textLength = richText->DocumentLength();
	
	iCImPlainBodyTextStore->StoreRichTextAsPlainTextL(*richText);
	iCImPlainBodyTextStore->CommitL(iActiveWaiter->iStatus);
	iActiveWaiter->WaitActive();
	
	delete richText;

	richText=CRichText::NewL(paraLayer, charLayer, CEditableText::EFlatStorage, KBufferGranularity);
	imEmailMessage->GetBodyTextL(newMessageId, CImEmailMessage::EThisMessageOnly, *richText, *paraLayer, *charLayer);	
	richText->DocumentLength();
	ASSERT_EQUALS(richText->DocumentLength(), textLength);

	delete richText;
	delete charLayer;
	delete paraLayer;
	CleanupStack::PopAndDestroy(imEmailMessage); 
	}