Sample code for 30+ languages & platforms
React Native

Outlook -- Delete Email

See more Outlook Examples

Demonstrates how to delete email using the Microsoft Graph API.

Note: This example requires Chilkat v9.5.0.68 or greater.

This example applies to: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

Chilkat React Native Downloads

React Native
import { Hashtable, Http, JsonObject, StringBuilder } from '@chilkat/react-native'

async function chilkatExample() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const http = new Http();

  // Use your previously obtained access token here:
  http.authToken = 'MICROSOFT_GRAPH_ACCESS_TOKEN';

  // This example will search /Inbox for a message we want to delete.
  // First we need to get the folder ID for /Inbox.
  // Then we'll search for messages based on some criteria, and delete the matching messages.

  // Get the folder ID for /Inbox from the folder map created by this example 
  const htFolderMap = new Hashtable();
  const sbMap = new StringBuilder();
  sbMap.loadFile('qa_data/outlook/folderMap.xml', 'utf-8');
  htFolderMap.addFromXmlSb(sbMap);

  // Get the ID for the "/Inbox" folder:
  let folderId: string;
  try {
    folderId = htFolderMap.lookupStr('/Inbox');
  } catch {
    console.log('Folder ID not found');
    return;
  }

  const json = new JsonObject();
  json.emitCompact = false;

  // Search for emails in this folder with the phrase "Amazon SES" in the subject, and return only the id and subject.
  http.setUrlVar('folder_id', folderId);
  http.setUrlVar('select', 'id,subject');
  http.setUrlVar('filter', 'contains(subject,\'Amazon SES\')');

  const sbResponse = new StringBuilder();
  try {
    await http.quickGetSbAsync('https://graph.microsoft.com/v1.0/me/mailFolders/{$folder_id}/messages?$filter={$filter}&$select={$select}', sbResponse);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  json.loadSb(sbResponse);
  // Show the results..
  console.log(json.emit());

  // Sample results:

  // 	{
  // 	  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('me')/mailFolders('AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgAuAAADsVyfxjDU406Ic4X7ill8xAEA5_vF7TKKdE6bGCRqXyl2PQAAAgEMAAAA')/messages(id,subject)",
  // 	  "value": [
  // 	    {
  // 	      "@odata.etag": "W/\"CQAAABYAAADn68XtMop0TpsYJGpfKXY9AAA1jyl6\"",
  // 	      "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEMAAAA5_vF7TKKdE6bGCRqXyl2PQAAADLHd_AAAAA=",
  // 	      "subject": "Amazon SES Address Verification Request in region US West (Oregon)"
  // 	    },
  // 	    {
  // 	      "@odata.etag": "W/\"CQAAABYAAADn68XtMop0TpsYJGpfKXY9AAA1jyl7\"",
  // 	      "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEMAAAA5_vF7TKKdE6bGCRqXyl2PQAAADLHd_EAAAA=",
  // 	      "subject": "Amazon SES Address Verification Request in region US West (Oregon)"
  // 	    }
  // 	  ]
  // 	}
  // 

  // ------------
  // Proceed to delete each of the above emails...
  let resp = '';
  let messageId = '';
  let i = 0;
  const numEmails = json.sizeOfArray('value');
  while (i < numEmails) {
    json.i = i;

    messageId = json.stringOf('value[i].id');
    http.setUrlVar('message_id', messageId);
    console.log(`Deleting ${messageId}`);
    try {
      resp = await http.quickDeleteStrAsync('https://graph.microsoft.com/v1.0/me/messages/{$message_id}');
    } catch {
      console.log(http.lastErrorText);
      return;
    }

    // A 204 response indicates success.
    if (http.lastStatus === 204) {
      console.log('Message deleted.');
    } else {
      console.log('Message not deleted.');
      console.log(resp);
    }

    i++;
  }

  // Sample output:

  // Deleting AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEMAAAA5_vF7TKKdE6bGCRqXyl2PQAAADLHd_AAAAA=
  // Message deleted.
  // Deleting AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEMAAAA5_vF7TKKdE6bGCRqXyl2PQAAADLHd_EAAAA=
  // Message deleted.
  // 
}