Sample code for 30+ languages & platforms
PowerBuilder

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

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Mime
oleobject loo_Email
integer i
integer li_NumRelatedItems
oleobject loo_SbContentType

li_Success = 0

// 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.
loo_Mime = create oleobject
li_rc = loo_Mime.ConnectToNewObject("Chilkat.Mime")
if li_rc < 0 then
    destroy loo_Mime
    MessageBox("Error","Connecting to COM object failed")
    return
end if

li_Success = loo_Mime.LoadMimeFile("qa_data/eml/TMobileTextMsg.eml")
// Show the MIME structure in text format (as opposed to XML format).
Write-Debug loo_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.

loo_Email = create oleobject
li_rc = loo_Email.ConnectToNewObject("Chilkat.Email")

li_Success = loo_Email.LoadEml("qa_data/eml/TMobileTextMsg.eml")

// We should see 4 related items.
Write-Debug "Num Related Items = " + string(loo_Email.NumRelatedItems)
// There should be 0 attachments.  
Write-Debug "Num Attachments = " + string(loo_Email.NumAttachments)

// Find the indices of the text/plain related part, and the text/html related part
i = 0
li_NumRelatedItems = loo_Email.NumRelatedItems
loo_SbContentType = create oleobject
li_rc = loo_SbContentType.ConnectToNewObject("Chilkat.StringBuilder")

do while i < li_NumRelatedItems
    loo_SbContentType.Append(loo_Email.GetRelatedContentType(i))
    Write-Debug string(i) + ": " + loo_SbContentType.GetAsString()
    if loo_SbContentType.ContentsEqual("text/plain",0) then
        Write-Debug "---- text/plain part:"
        Write-Debug loo_Email.GetRelatedString(i,"utf-8")
    end if

    loo_SbContentType.Clear()
    i = i + 1
loop


destroy loo_Mime
destroy loo_Email
destroy loo_SbContentType