This tutorial explains how to store incoming email messages.
You can store and restore the incoming email message using the TDesC8
or TDesC16
function. Ensure that
you follow these guidelines while using these functions:
If you want to store the downloaded email message data as 16 bit, then storing is slow as the downloaded message in 8 bit should be converted to 16 bit before it is stored. However, reading and displaying is fast as the email message data is in 16 bit.
If you want to store the downloaded email message data as 8-bit, then reading and displaying it is slow as the 8 bit email message data should be converted to 16 bit before it is displayed. However, storing is fast.
For the MTM
to use CMsvPlainBodyText
for storing downloaded
email messages, get the CMsvPlainBodyText
object
using the InitialisePlainBodyTextForWriteL() method
of CMsvStore
.
Set CMsvStore
to the ID of the email message that needs to
be stored, and open it in the write mode.
Use any of the
following CMsvPlainBodyText::StoreChunkL()
methods
to store incoming data:
const
TDesC8
&aChunk,
TRequestStatus
&aStatus
const
TDesC8
&aChunk
const
TDesC16
&aChunk,
TRequestStatus
&aStatus
const
TDesC16
&aChunk
After the entire
email message has been received from the external server, the MTM
must call the CommitL() method of CMsvPlainBodyText
to complete the store operation.
Note: The email server MTM can store the email message that is received from the external server either as 8 or 16 bit. When the MTM calls the 16 bit version of the
StoreChunkL()
function, and based on the charset information, it must convert
the data to Unicode.If the 8 bit version of theStoreChunkL()
function is used for storing, and if the MTM wants the email message
to be stored as 16 bit (this is indicated by the TBoolaIs8Bit
parameter of InitialisePlainBodyTextForWriteL()
), CMsvPlainBodyText
converts and stores the email
message in 16 bit based on the charset information provided while
initialising CMsvPlainBodyText
.