Sample code for 30+ languages & platforms
Lianja

Get Contents of a T-Mobile Text Message (as Email)

See more Email Object Examples

How to get the contents of an email that originated as a T-Mobile SMS text.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

// First, for the purpose of understanding the structure of the MIME,
// let's load the MIME into a Chilkat MIME object and examine the MIME structure.
loMime = createobject("CkMime")

llSuccess = loMime.LoadMimeFile("qa_data/eml/TMobileTextMsg.eml")
// Show the MIME structure in text format (as opposed to XML format).
? loMime.GetStructure("text")

// The MIME structure for our test email looks like this:
// multipart/related
//     text/html
//     text/plain
//     image/gif
//     image/gif
//     image/gif

// The HTML part is not considered a "related item" because the related items
// are defined as being related to the HTML part.  Therefore, we should always
// expect to find a text/html part under a multipart/related.  The HTML parts
// is simply the HTML body, and the other parts are the related items.
// If the text/plain part was to be considered as an alternative body,
// then a properly structured email would include a multipart/alternative structure.

loEmail = createobject("CkEmail")

llSuccess = loEmail.LoadEml("qa_data/eml/TMobileTextMsg.eml")

// We should see 4 related items.
? "Num Related Items = " + str(loEmail.NumRelatedItems)
// There should be 0 attachments.  
? "Num Attachments = " + str(loEmail.NumAttachments)

// Find the indices of the text/plain related part, and the text/html related part
i = 0
lnNumRelatedItems = loEmail.NumRelatedItems
loSbContentType = createobject("CkStringBuilder")
do while i < lnNumRelatedItems
    loSbContentType.Append(loEmail.GetRelatedContentType(i))
    ? str(i) + ": " + loSbContentType.GetAsString()
    if (loSbContentType.ContentsEqual("text/plain",.F.)) then
        ? "---- text/plain part:"
        ? loEmail.GetRelatedString(i,"utf-8")
    endif

    loSbContentType.Clear()
    i = i + 1
enddo


release loMime
release loEmail
release loSbContentType