Tcl
Tcl
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 Tcl Downloads
load ./chilkat.dll
set 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.
set mime [new_CkMime]
set success [CkMime_LoadMimeFile $mime "qa_data/eml/TMobileTextMsg.eml"]
# Show the MIME structure in text format (as opposed to XML format).
puts [CkMime_getStructure $mime 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.
set email [new_CkEmail]
set success [CkEmail_LoadEml $email "qa_data/eml/TMobileTextMsg.eml"]
# We should see 4 related items.
puts "Num Related Items = [CkEmail_get_NumRelatedItems $email]"
# There should be 0 attachments.
puts "Num Attachments = [CkEmail_get_NumAttachments $email]"
# Find the indices of the text/plain related part, and the text/html related part
set i 0
set numRelatedItems [CkEmail_get_NumRelatedItems $email]
set sbContentType [new_CkStringBuilder]
while {$i < $numRelatedItems} {
CkStringBuilder_Append $sbContentType [CkEmail_getRelatedContentType $email $i]
puts "$i: [CkStringBuilder_getAsString $sbContentType]"
if {D]CkStringBuilder_ContentsEqual $sbContentType "text/plain" 0[/L} then {
puts "---- text/plain part:"
puts [CkEmail_getRelatedString $email $i utf-8]
}
CkStringBuilder_Clear $sbContentType
set i [expr $i + 1]
}
delete_CkMime $mime
delete_CkEmail $email
delete_CkStringBuilder $sbContentType