Sample code for 30+ languages & platforms
React Native

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 React Native Downloads

React Native
import { Email, Mime, StringBuilder } from '@chilkat/react-native'

function chilkatExample() {
  // 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.
  const mime = new Mime();

  mime.loadMimeFile('qa_data/eml/TMobileTextMsg.eml');
  // Show the MIME structure in text format (as opposed to XML format).
  console.log(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.

  const email = new Email();

  email.loadEml('qa_data/eml/TMobileTextMsg.eml');

  // We should see 4 related items.
  console.log(`Num Related Items = ${email.numRelatedItems}`);
  // There should be 0 attachments.  
  console.log(`Num Attachments = ${email.numAttachments}`);

  // Find the indices of the text/plain related part, and the text/html related part
  let i = 0;
  const numRelatedItems = email.numRelatedItems;
  const sbContentType = new StringBuilder();
  while (i < numRelatedItems) {
    sbContentType.append(email.getRelatedContentType(i));
    console.log(`${i}: ${sbContentType.getAsString()}`);
    if (sbContentType.contentsEqual('text/plain', false)) {
      console.log('---- text/plain part:');
      console.log(email.getRelatedString(i, 'utf-8'));
    }

    sbContentType.clear();
    i++;
  }
}