Sample code for 30+ languages & platforms
AutoIt

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 AutoIt Downloads

AutoIt
Local $bSuccess = 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.
$oMime = ObjCreate("Chilkat.Mime")

$bSuccess = $oMime.LoadMimeFile("qa_data/eml/TMobileTextMsg.eml")
;  Show the MIME structure in text format (as opposed to XML format).
ConsoleWrite($oMime.GetStructure("text") & @CRLF)

;  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.

$oEmail = ObjCreate("Chilkat.Email")

$bSuccess = $oEmail.LoadEml("qa_data/eml/TMobileTextMsg.eml")

;  We should see 4 related items.
ConsoleWrite("Num Related Items = " & $oEmail.NumRelatedItems & @CRLF)
;  There should be 0 attachments.  
ConsoleWrite("Num Attachments = " & $oEmail.NumAttachments & @CRLF)

;  Find the indices of the text/plain related part, and the text/html related part
Local $i = 0
Local $iNumRelatedItems = $oEmail.NumRelatedItems
$oSbContentType = ObjCreate("Chilkat.StringBuilder")
While $i < $iNumRelatedItems
    $oSbContentType.Append($oEmail.GetRelatedContentType($i))
    ConsoleWrite($i & ": " & $oSbContentType.GetAsString() & @CRLF)
    If ($oSbContentType.ContentsEqual("text/plain",False)) Then
        ConsoleWrite("---- text/plain part:" & @CRLF)
        ConsoleWrite($oEmail.GetRelatedString($i,"utf-8") & @CRLF)
    EndIf

    $oSbContentType.Clear 
    $i = $i + 1
Wend