Sample code for 30+ languages & platforms
Xojo Plugin

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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

// 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.
Dim mime As New Chilkat.Mime

success = mime.LoadMimeFile("qa_data/eml/TMobileTextMsg.eml")
// Show the MIME structure in text format (as opposed to XML format).
System.DebugLog(mime.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.

Dim email As New Chilkat.Email

success = email.LoadEml("qa_data/eml/TMobileTextMsg.eml")

// We should see 4 related items.
System.DebugLog("Num Related Items = " + Str(email.NumRelatedItems))
// There should be 0 attachments.  
System.DebugLog("Num Attachments = " + Str(email.NumAttachments))

// Find the indices of the text/plain related part, and the text/html related part
Dim i As Int32
i = 0
Dim numRelatedItems As Int32
numRelatedItems = email.NumRelatedItems
Dim sbContentType As New Chilkat.StringBuilder
While i < numRelatedItems
    success = sbContentType.Append(email.GetRelatedContentType(i))
    System.DebugLog(Str(i) + ": " + sbContentType.GetAsString())
    If (sbContentType.ContentsEqual("text/plain",False)) Then
        System.DebugLog("---- text/plain part:")
        System.DebugLog(email.GetRelatedString(i,"utf-8"))
    End If

    sbContentType.Clear 
    i = i + 1
Wend