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