Sample code for 30+ languages & platforms
C#

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 C# Downloads

C#
bool 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.
Chilkat.Mime mime = new Chilkat.Mime();

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

Chilkat.Email email = new Chilkat.Email();

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

//  We should see 4 related items.
Debug.WriteLine("Num Related Items = " + Convert.ToString(email.NumRelatedItems));
//  There should be 0 attachments.  
Debug.WriteLine("Num Attachments = " + Convert.ToString(email.NumAttachments));

//  Find the indices of the text/plain related part, and the text/html related part
int i = 0;
int numRelatedItems = email.NumRelatedItems;
Chilkat.StringBuilder sbContentType = new Chilkat.StringBuilder();
while (i < numRelatedItems) {
    sbContentType.Append(email.GetRelatedContentType(i));
    Debug.WriteLine(Convert.ToString(i) + ": " + sbContentType.GetAsString());
    if (sbContentType.ContentsEqual("text/plain",false)) {
        Debug.WriteLine("---- text/plain part:");
        Debug.WriteLine(email.GetRelatedString(i,"utf-8"));
    }

    sbContentType.Clear();
    i = i + 1;
}