Sample code for 30+ languages & platforms
PowerShell

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

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$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.
$mime = New-Object Chilkat.Mime

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

$email = New-Object Chilkat.Email

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

# We should see 4 related items.
$("Num Related Items = " + $email.NumRelatedItems)
# There should be 0 attachments.  
$("Num Attachments = " + $email.NumAttachments)

# Find the indices of the text/plain related part, and the text/html related part
$i = 0
$numRelatedItems = $email.NumRelatedItems
$sbContentType = New-Object Chilkat.StringBuilder
while ($i -lt $numRelatedItems) {
    $sbContentType.Append($email.GetRelatedContentType($i))
    $([string]$i + ": " + $sbContentType.GetAsString())
    if ($sbContentType.ContentsEqual("text/plain",$false)) {
        $("---- text/plain part:")
        $($email.GetRelatedString($i,"utf-8"))
    }

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