Arbeiten mit Exchange-Postfachelementen mithilfe von EWS in Exchange

Erfahren Sie, wie Elemente mithilfe der verwalteten EWS-API oder EWS in Exchange erstellt, abgerufen, aktualisiert und gelöscht werden können.

Zum Arbeiten mit Elementen in einem Postfach können Sie mit der verwalteten EWS-API oder EWS arbeiten. Sie können generische Elemente - verwaltete EWS-API-Item-Objekte oder EWS Item-Typen verwenden, um einige Operationen (Abrufen eines Elements oder Löschen eines Elements mithilfe des Bezeichners des Elements) auszuführen; den Großteil der Zeit müssen Sie jedoch ein stark typisiertes Element verwenden, um eine Abruf- oder Aktualisierungsoperation auszuführen, da Sie Zugriff auf die Eigenschaften benötigen, die spezifisch für das stark typisierte Element sind.

Sie können beispielsweise kein generisches Element zum Abrufen eines Elements verwenden, das ein Start- und Enddatum aufweist - dazu benötigen Sie ein verwaltetes EWS-API- Appointment-Objekt oder einen EWS-CalendarItem-Typen. Und wenn Sie die verwaltete EWS-API verwenden, müssen Sie immer stark typisierte Elemente erstellen, da die generische Item -Klasse keinen Konstruktor aufweist. Wenn Sie mit einem nicht stark typisierten Element arbeiten, können Sie immer die einfache Item -Klasse zum Arbeiten mit dem Element verwenden.

Tabelle 1. Verwaltete EWS-API-Methoden und EWS-Operationen für das Arbeiten mit Elementen

Gewünschte Aktion EWS Managed API-Methode EWS-Vorgang
Erstellen eines generischen Elements
Keine. Sie können nur mit der verwalteten EWS-API bestimmte Elementtypen erstellen; Sie können keine generischen Elemente erstellen.
CreateItem
Abrufen eines Elements
Item.Bind
GetItem
Aktualisieren eines Elements
Item.Update
UpdateItem
Löschen eines Elements
Item.Delete
DeleteItem

In diesem Artikel erfahren Sie, wann Sie die generische Basisklasse verwenden können und wann Sie zum Abschließen der Aufgabe ein stark typisiertes Element benötigen. In den Codebeispielen wird die Verwendung der Basisklasse veranschaulicht, und was Sie tun müssen, wenn Sie die Basisklasse nicht verwenden können oder Sie nicht Ihren Anforderungen entspricht.

Erstellen eines Elements mithilfe der verwalteten EWS-API

Die verwaltete EWS-API weist keinen öffentlich verfügbaren Konstruktur für die Item-Klasse auf, Sie müssen den Konstruktor für den spezifischen Elementtypen verwenden, den Sie erstellen möchten, um ein Element zu erstellen. Verwenden Sie beispielsweise den EmailMessage-Klassenkonstruktor zum Erstellen einer neuen E-Mail-Nachricht, und den Contact-Klassenkonstruktor, um einen neuen Kontakt zu erstellen. Gleichermaßen gibt der Server niemals generische Item -Objekte in Antworten zurück; alle generischen Elemente werden als EmailMessage -Objekte zurückgegeben.

Wenn Sie den zu erstellenden Elementtypen kennen, können Sie die Aufgabe in wenigen Schritten abschließen. Diese Schritte ähneln sich für alle Elementtypen:

  1. Initialisieren Sie eine neue Instanz einer der Item-Klassen mit dem ExchangeService-Objekt als Parameter.

  2. Legen Sie die Eigenschaften des Elements fest. Die Schemas für jeden Elementtyp unterscheiden sich, es sind also unterschiedliche Eigenschaften für die verschiedenen Elemente verfügbar.

  3. Speichern Sie das Element oder speichern und senden Sie das Element.

Sie können beispielsweise ein EmailMessage-Objekt erstellen, die Subject-, Body- und ToRecipients-Eigenschaften festlegen und es dann mithilfe der EmailMessage.SendAndSaveCopy-Methode senden.

// Create an email message and provide it with connection 
// configuration information by using an ExchangeService object named service.
EmailMessage message = new EmailMessage(service);
// Set properties on the email message.
message.Subject = "Company Soccer Team";
message.Body = "Are you interested in joining?";
message.ToRecipients.Add("sadie@contoso.com");
// Send the email message and save a copy.
// This method call results in a CreateItem call to EWS.
message.SendAndSaveCopy();

Weitere Informationen zum Erstellen eines Besprechungs- oder Terminelements mithilfe der verwalteten EWS-API finden Sie unter Erstellen von Terminen und Besprechungen mithilfe von EWS in Exchange 2013.

Erstellen eines Elements mithilfe von EWS

Sie können ein generische Element oder ein stark typisierte Element mithilfe von EWS erstellen. Die Schritte sind für alle Elementtypen ähnlich:

  1. Verwenden Sie die CreateItem-Operation, um ein Element im Exchange-Speicher zu erstellen.

  2. Verwenden Sie das Items-Element, um ein oder mehrere zu erstellende Elemente aufzunehmen.

  3. Legen Sie die Eigenschaften des Elements fest.

Sie können beispielsweise eine E-Mail-Nachricht erstellen und senden, indem Sie den Code aus dem folgenden Beispiel verwenden. Dies ist auch die XML-Anforderung, die die verwaltete EWS-API sendet, wenn Sie die SendAndSaveCopy-Methode aufrufen.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
               xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
               xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2007_SP1" />
  </soap:Header>
  <soap:Body>
    <m:CreateItem MessageDisposition="SendAndSaveCopy">
      <m:SavedItemFolderId>
        <t:DistinguishedFolderId Id="sentitems" />
      </m:SavedItemFolderId>
      <m:Items>
        <t:Message>
          <t:Subject>Company Soccer Team</t:Subject>
          <t:Body BodyType="HTML">Are you interested in joining?</t:Body>
          <t:ToRecipients>
            <t:Mailbox>
              <t:EmailAddress>sadie@contoso.com </t:EmailAddress>
              </t:Mailbox>
          </t:ToRecipients>
        </t:Message>
      </m:Items>
    </m:CreateItem>
  </soap:Body>
</soap:Envelope>

Der Server antwortet auf die CreateItem-Anforderung mit einer CreateItemResponse-Nachricht, die einen ResponseCode-Wert von NoError enthält, der darauf hinweist, dass die E-Mail erfolgreich erstellt wurde. Außerdem ist die ItemId der neu erstellten Nachricht enthalten.

Weitere Informationen zum Erstellen eines Besprechungs- oder Terminelements mithilfe von EWS finden Sie unter Erstellen von Terminen und Besprechungen mithilfe von EWS in Exchange 2013.

Abrufen eines Elements mithilfe der verwalteten EWS-API

Um ein Element mithilfe der verwalteten EWS-API abzurufen, wenn Sie die Item.Id des abzurufenden Elements kennen, können Sie bei dem Element einfach eine der Bind-Methoden aufrufen, sodass das Element abgerufen wird. Als bewährte Vorgehensweise empfehlen wir die zurückgegebenen Eigenschaften nur auf erforderlichen zu begrenzen. In diesem Beispiel wird die Id -Eigenschaft des Elements und die Subject -Eigenschaft zurückgegeben.

In diesem Beispiel wird davon ausgegangen, dass service ein gültiges ExchangeService-Objekt ist und der Benutzer bei einem Exchange-Server authentifiziert wurde. Die lokale Variable itemId ist die ID des zu aktualisierenden Elements.

// As a best practice, limit the properties returned to only those that are required.
PropertySet propSet = new PropertySet(BasePropertySet.IdOnly, ItemSchema.Subject);
// Bind to the existing item by using the ItemId.
// This method call results in a GetItem call to EWS.
Item item = Item.Bind(service, itemId, propSet);

Wenn Sie ein Element suchen, das bestimmte Kriterien erfüllt, gehen Sie folgendermaßen vor:

  1. Erstellen Sie eine Bindung für den Ordner, der die abzurufenden Elemente enthält.

  2. Instanziieren Sie ein SearchFilter.SearchFilterCollection oder ein PropertySet, um die zurückzugebenden Elemente zu filtern.

  3. Instanziieren Sie ein ItemView- oder CalendarView-Objekt, um die Anzahl der zurückzugebenden Elemente anzugeben.

  4. Rufen Sie die ExchangeService.FindItems- oder ExchangeService.FindAppointments-Methode auf.

Wenn Sie beispielsweise ungelesene E-Mail-Nachrichten im Postfach abrufen möchten, verwenden Sie den Code aus dem folgenden Beispiel. In diesem Beispiel wird eine SearchFilterCollection zum Begrenzen der Ergebnisse der FindItems -Methode für ungelesene Nachrichten verwendet, außerdem wird die ItemView eingeschränkt, damit die Ergebnisse auf ein Element begrenzt. Dieser bestimmte Code funktioniert nur mit EmailMessage-Objekten, da der EmailMessageSchema.IsRead-Wert Teil des SearchFilter ist.

// Bind the Inbox folder to the service object.
Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox);
// The search filter to get unread email.
SearchFilter sf = new SearchFilter.SearchFilterCollection(LogicalOperator.And, new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, false));
ItemView view = new ItemView(1);
// Fire the query for the unread items.
// This method call results in a FindItem call to EWS.
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, sf, view);

Alternativ können Sie ein PropertySet verwenden, um die Ergebnisse der Suche einzuschränken, siehe folgendes Codebeispiel. In diesem Beispiel wird die FindAppointments-Methode verwendet, um bis zu fünf Termine abzurufen, die in den nächsten 30 Tagen anstehen. Dieser Code funktioniert natürlich nur bei Kalenderelementen.

// Initialize values for the start and end times, and the number of appointments to retrieve.
DateTime startDate = DateTime.Now;
DateTime endDate = startDate.AddDays(30);
const int NUM_APPTS = 5;
// Bind the Calendar folder to the service object.
// This method call results in a GetFolder call to EWS.
CalendarFolder calendar = CalendarFolder.Bind(service, WellKnownFolderName.Calendar, new PropertySet());
// Set the start and end time and number of appointments to retrieve.
CalendarView cView = new CalendarView(startDate, endDate, NUM_APPTS);
// Limit the properties returned to the appointment's subject, start time, and end time.
cView.PropertySet = new PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End);
// Retrieve a collection of appointments by using the calendar view.
// This method call results in a FindAppointments call to EWS.
FindItemsResults<Appointment> appointments = calendar.FindAppointments(cView);

Beachten Sie, dass sich die vom Server in der Bind -Methodenantwort zurückgegebenen Informationen von denen unterscheiden, die der Server für eine FindItem - oder FindAppointment -Methodenantwort zurückgibt. Die Bind -Methode kann alle schematisierten Eigenschaften zurückgeben, wohingegen die FindItem - und FindAppointment -Methoden nicht alle schematisierten Eigenschaften zurückgibt. Wenn Sie also vollständigen Zugriff auf das Element benötigen, müssen Sie die Bind -Methode verwenden. Wenn Sie das Element Id des abzurufenden Elements nicht haben, verwenden Sie die FindItem - oder FindAppointment -Methoden zum Abrufen der ID, und verwenden Sie dann die Bind -Methode, um die erforderlichen Eigenschaften abzurufen.

Weitere Informationen zum Abrufen eines Besprechungs- oder Terminelements mithilfe der verwalteten EWS-API finden Sie unter Abrufen von Terminen und Besprechungen mithilfe von EWS in Exchange.

Abrufen eines Elements mithilfe von EWS

Wenn Sie die ItemId des abzurufenden Elements kennen, können Sie das Element mithilfe der GetItem-Operation abrufen.

Im folgenden Beispiel wird die XML-Anforderung zum Abrufen des Betreffs eines Elements mit einer bestimmten ItemId veranschaulicht. Dies ist auch die XML-Anforderung, die die verwaltete EWS-API beim Aufrufen der Bind-Methode zu einer ItemId sendet. Die Werte einiger Attribute und Elemente wurden zur besseren Lesbarkeit gekürzt.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
               xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
               xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2013" />
  </soap:Header>
  <soap:Body>
    <m:GetItem>
      <m:ItemShape>
        <t:BaseShape>IdOnly</t:BaseShape>
        <t:AdditionalProperties>
          <t:FieldURI FieldURI="item:Subject" />
        </t:AdditionalProperties>
      </m:ItemShape>
      <m:ItemIds>
        <t:ItemId Id="GJc/NAAA=" />
      </m:ItemIds>
    </m:GetItem>
  </soap:Body>
</soap:Envelope>

Im folgenden Beispiel wird die XML-Antwort veranschaulicht, die der Server zurückgibt, nachdem er die GetItem-Operation verarbeitet. Die Antwort gibt an, dass das Element erfolgreich abgerufen wurde. Die Werte einiger Attribute und Elemente wurden zur besseren Lesbarkeit gekürzt.

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="https://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <h:ServerVersionInfo MajorVersion="15" 
                         MinorVersion="0" 
                         MajorBuildNumber="815" 
                         MinorBuildNumber="6" 
                         Version="V2_7" 
                         xmlns:h="https://schemas.microsoft.com/exchange/services/2006/types" 
                         xmlns="https://schemas.microsoft.com/exchange/services/2006/types" 
                         xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
  </s:Header>
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <m:GetItemResponse xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
                       xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
      <m:ResponseMessages>
        <m:GetItemResponseMessage ResponseClass="Success">
          <m:ResponseCode>NoError</m:ResponseCode>
          <m:Items>
            <t:Message>
              <t:ItemId Id="GJc/NAAA=" ChangeKey="CQAAABYAAAAPxolXAHv3TaHUnjW8wWqXAAAGJd9Z"/>
              <t:Subject>Company Soccer Team</t:Subject>
            </t:Message>
          </m:Items>
        </m:GetItemResponseMessage>
      </m:ResponseMessages>
    </m:GetItemResponse>
  </s:Body>
</s:Envelope>

Wenn Sie die ItemId des abzurufenden Elements nicht kennen, können Sie die FindItem-Operation verwenden, um das Element zu suchen. Um die FindItem-Operation verwenden zu können, müssen Sie zunächst den Ordner identifizieren, den Sie suchen. Sie können den Ordner identifizieren, indem Sie den DistinguinguishedFolderName oder die FolderId verwenden. Zum Abrufen der erforderlichen FolderId können Sie die FindFolder- oder SyncFolderHierarchy-Operationen verwenden. Verwenden Sie anschließend die FindItem-Operation, um den Ordner nach Ergebnissen zu durchsuchen, die mit dem Suchfilter übereinstimmen. Im Gegensatz zur verwalteten EWS-API bietet EWS keine separate Suchoperation für Termine. Die FindItem-Operation ruft Elemente aller Typen ab.

Im folgenden Beispiel wird die XML- FindItem-Operationsanforderung veranschaulicht, die an den Server gesendet wird, um Termine im Kalenderordner zu suchen, die in den nächsten 30 Tagen anstehen. Die Werte einiger Attribute und Elemente wurden zur besseren Lesbarkeit gekürzt.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages"
               xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types"
               xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2007_SP1" />
  </soap:Header>
  <soap:Body>
    <m:FindItem Traversal="Shallow">
      <m:ItemShape>
        <t:BaseShape>IdOnly</t:BaseShape>
        <t:AdditionalProperties>
          <t:FieldURI FieldURI="item:Subject" />
          <t:FieldURI FieldURI="calendar:Start" />
          <t:FieldURI FieldURI="calendar:End" />
        </t:AdditionalProperties>
      </m:ItemShape>
      <m:CalendarView MaxEntriesReturned="5" StartDate="2013-10-16T17:04:28.722Z" EndDate="2013-11-15T18:04:28.722Z" />
      <m:ParentFolderIds>
        <t:FolderId Id="AAAEOAAA=" ChangeKey="AgAAABYAAAAqRr3mNdNMSasqx/o9J13UAAAAAAA3" />
      </m:ParentFolderIds>
    </m:FindItem>
  </soap:Body>
</soap:Envelope>

Der Server antwortet auf die FindItem-Anforderung mit einer FindItemResponse-Nachricht, die den ResponseCode-Wert von NoError umfasst, der angibt, dass die Operation erfolgreich abgeschlossen wurde. Falls Kalenderelemente die Filterkriterien erfüllen, sind sie in der Antwort enthalten.

Beachten Sie, dass sich die vom Server in der GetItem-Operationsantwort zurückgegebenen Informationen von denen unterscheiden, die der Server in einer FindItem- oder FindAppointment-Operationsantwort zurückgibt. Die GetItem-Operation kann alle schematisierten Eigenschaften zurückgeben, wohingegen die FindItem- und FindAppointment-Operationen nicht alle schematisierten Eigenschaften zurückgeben. Wenn Sie also vollständigen Zugriff auf das Element benötigen, müssen Sie die GetItem-Operation verwenden. Wenn Sie die ItemId des abzurufenden Elements nicht haben, verwenden Sie die FindItem- oder FindAppointment-Operationen, um die ItemId abzurufen und verwenden Sie anschließend die GetItem-Operation zum Abrufen der erforderlichen Elemente.

Weitere Informationen zum Abrufen eines Besprechungs- oder Terminelements mithilfe von EWS finden Sie unter Abrufen von Terminen und Besprechungen mithilfe von EWS in Exchange.

Aktualisieren eines Elements mithilfe der verwalteten EWS-API

Die Schritte zum Aktualisieren eines Elements mithilfe der verwalteten EWS-API ähneln sich für alle Elementtypen; die Elementeigenschaften für die einzelnen Elementtypen unterscheiden sich jedoch und bei der Update-Methode stehen viele überladene Methoden zur Auswahl. So aktualisieren Sie ein Element:

  1. Verwenden Sie die Bind-Methode zum Abrufen der aktuellsten Version des Elements, sofern Sie sie nicht bereits haben. Um die Eigenschaften eines bestimmten stark typisierten Elements zu aktualisieren, müssen Sie eine Bindung zu diesem Elementtyp erstellen. Zum Aktualisieren der für einen generischen Elementtyp verfügbaren Eigenschaften können Sie eine Bindung zum Item-Objekt erstellen.

  2. Aktualisieren Sie die Eigenschaften des Elements.

  3. Rufen Sie die Update -Methode auf.

Sie können beispielsweise den Betreff einer E-Mail mithilfe des generischen Elementtyps aktualisieren, wie im Code des folgenden Beispiels dargestellt.

In diesem Beispiel wird davon ausgegangen, dass service ein gültiges ExchangeService-Objekt ist und der Benutzer bei einem Exchange-Server authentifiziert wurde. Die lokale Variable itemId ist die ID des zu aktualisierenden Elements.

// Bind to the existing item, using the ItemId.
// This method call results in a GetItem call to EWS.
Item item = Item.Bind(service, itemId);
// Update the Subject of the email.
item.Subject = "New subject";
// Save the updated email.
// This method call results in an UpdateItem call to EWS.
item.Update(ConflictResolutionMode.AlwaysOverwrite);

Weitere Informationen zum Aktualisieren eines Besprechungs- oder Terminelements mithilfe der verwalteten EWS-API finden Sie unter Aktualisieren von Terminen und Besprechungen mithilfe von EWS in Exchange.

Aktualisieren eines Elements mithilfe von EWS

Gehen Sie zum Aktualisieren eines Elements mithilfe von EWS folgendermaßen vor:

  1. Verwenden Sie die GetItem-Operation zum Abrufen der aktuellsten Version des Elements, sofern Sie sie nicht bereits haben.

  2. Verwenden Sie die UpdateItem-Operation, um die zu aktualisierenden Felder anzugeben und weisen Sie diesen Feldern neue Werte zu.

Im folgenden Beispiel wird die XML- UpdateItem-Operationsanforderung veranschaulicht, die an den Server gesendet wird, um den Betreff-Wert der E-Mail-Nachricht zu aktualisieren. Die Werte für einige Attribute und Elemente wurden zur besseren Lesbarkeit gekürzt.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2010_SP1" />
  </soap:Header>
  <soap:Body>
    <m:UpdateItem MessageDisposition="SaveOnly" ConflictResolution="AlwaysOverwrite">
      <m:ItemChanges>
        <t:ItemChange>
          <t:ItemId Id="APdZjAAA=" ChangeKey="CQAAABYAAAAqRr3mNdNMSasqx/o9J13UAAAAPdgr" />
          <t:Updates>
            <t:SetItemField>
              <t:FieldURI FieldURI="item:Subject" />
              <t:Message>
                <t:Subject>New subject</t:Subject>
              </t:Message>
            </t:SetItemField>
          </t:Updates>
        </t:ItemChange>
      </m:ItemChanges>
    </m:UpdateItem>
  </soap:Body>
</soap:Envelope>

Der Server antwortet auf die UpdateItem-Anforderung mit einer UpdateItemResponse-Nachricht, die einen ResponseCode-Wert von NoError umfasst, der angibt, dass die Elementaktualisierung erfolgreich war.

Weitere Informationen zum Aktualisieren eines Besprechungs- oder Terminelements mithilfe von EWS finden Sie unter Aktualisieren von Terminen und Besprechungen mithilfe von EWS in Exchange.

Löschen eines Elements mithilfe der verwalteten EWS-API

Sie können Elemente löschen, indem Sie sie in den Ordner „Gelöschte Elemente" oder den Papierkorb verschieben. Wenn Sie die ItemId des zu löschenden Elements kennen, rufen Sie bei dem Element einfach die Delete-Methode auf.

Gehen Sie folgendermaßen vor, wenn Sie das Element suchen müssen, bevor Sie es löschen:

  1. Rufen Sie die FindItems- oder FindAppointments-Methode, um nach dem zu löschenden Element zu suchen.

  2. Instanziieren Sie ein PropertySet und begrenzen Sie es auf die zurückzugebenden Eigenschaften oder verwenden Sie eine SearchFilterCollection, um nach bestimmten Elementen zu suchen.

  3. Instanziieren Sie eine ItemView oder CalendarView, um die Anzahl der zurückzugebenden Elemente anzugeben.

  4. Rufen Sie die Delete-Methode auf.

Im folgenden Code wird beispielsweise veranschaulicht, wie eine E-Mail-Nachricht in den Ordner „Gelöschte Elemente" verschoben werden kann.

In diesem Beispiel wird davon ausgegangen, dass service ein gültiges ExchangeService-Objekt ist und der Benutzer bei einem Exchange-Server authentifiziert wurde. Die lokale Variable itemId ist die ID des zu aktualisierenden Elements.

// Bind to the existing item, using the ItemId.
// This method call results in a GetItem call to EWS.
Item item = Item.Bind(service, itemId);
// Delete the item by moving it to the Deleted Items folder.
// This method call results in a DeleteItem call to EWS.
item.Delete(DeleteMode.MoveToDeletedItems);

Weitere Informationen zum Löschen von Elementen finden Sie unter Löschen von Elementen mithilfe von EWS in Exchange. Weitere Informationen zum Löschen eines Besprechungs- oder Terminelements mithilfe der verwalteten EWS-API finden Sie unter Löschen von Terminen und Abbrechen an Besprechungen mit EWS in Exchange.

Löschen eines Elements mithilfe von EWS

Sie können ein Element mithilfe der DeleteItem-Operation löschen.

Im folgenden Beispiel wird die XML-Anforderung veranschaulicht, die an den Server gesendet wird, um die E-Mail-Nachricht in den Ordner „Gelöschte Elemente" zu verschieben. Die Werte einiger Attribute und Elemente wurden zur besseren Lesbarkeit gekürzt.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2010_SP1" />
  </soap:Header>
  <soap:Body>
    <m:DeleteItem DeleteType="MoveToDeletedItems">
      <m:ItemIds>
        <t:ItemId Id="APdZjAAA=" ChangeKey="CQAAABYAAAAqRr3mNdNMSasqx/o9J13UAAANIFzC" />
      </m:ItemIds>
    </m:DeleteItem>
  </soap:Body>
</soap:Envelope>

Der Server antwortet auf die DeleteItem-Anforderung mit einer DeleteItemResponse-Nachricht, die einen ResponseCode-Wert von NoError umfasst, der angibt, dass der Löschvorgang des Elements erfolgreich war.

Weitere Informationen zum Löschen von Elementen finden Sie unter Löschen von Elementen mithilfe von EWS in Exchange. Weitere Informationen zum Löschen eines Besprechungs- oder Terminelements mithilfe von EWS finden Sie unter Löschen von Terminen und Abbrechen an Besprechungen mit EWS in Exchange.

Verschieben oder Kopieren von Elementen in ein anderes Postfach

Sie können Elemente mithilfe der ExportItems- und UploadItems-Operationen zwischen Postfächern verschieben oder kopieren. Weitere Informationen dazu finden Sie unter Exportieren und Importieren von Elementen mit EWS in Exchange.

Siehe auch