Sample code for 30+ languages & platforms
Dart

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

Dart
import 'package:chilkat/chilkat.dart';

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

  final http = CkHttp();

  // 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 
  final htFolderMap = CkHashtable();
  final sbMap = CkStringBuilder();
  sbMap.loadFile('qa_data/outlook/folderMap.xml', 'utf-8');
  htFolderMap.addFromXmlSb(sbMap);

  // Get the ID for the "/Inbox" folder:
  final String folderId;
  try {
    folderId = htFolderMap.lookupStr('/Inbox');
  } on ChilkatException {
    print('Folder ID not found');
    return;
  }

  final json = CkJsonObject();
  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\')');

  final sbResponse = CkStringBuilder();
  try {
    http.quickGetSb('https://graph.microsoft.com/v1.0/me/mailFolders/{\$folder_id}/messages?\$filter={\$filter}&\$select={\$select}', sbResponse);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  json.loadSb(sbResponse);
  // Show the results..
  print(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...
  var resp = '';
  var messageId = '';
  var i = 0;
  final numEmails = json.sizeOfArray('value');
  while (i < numEmails) {
    json.i = i;

    messageId = json.stringOf('value[i].id');
    http.setUrlVar('message_id', messageId);
    print('Deleting $messageId');
    try {
      resp = http.quickDeleteStr('https://graph.microsoft.com/v1.0/me/messages/{\$message_id}');
    } on ChilkatException catch (e) {
      print(e.lastErrorText);
      return;
    }

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

    i++;
  }

  // Sample output:

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