Abrufen von Dienstkonfigurationsinformationen mithilfe von EWS in Exchange

Erfahren Sie, wie Sie Dienstkonfigurationsinformationen für UM, Richtlinien-Nudges, E-Mail-Tipps und Schutzregeln von EWS in Exchange abrufen.

Funktioniert Ihre EWS-Anwendung mit Unified Messaging (UM), Richtlinien-Nudges, E-Mail-Tipps oder Schutzregeln? Wenn ja, muss Ihre Anwendung den GetServiceConfiguration-Vorgang aufrufen, um die benötigten Dienstkonfigurationsinformationen abzurufen. Der GetServiceConfiguration-Vorgang gibt Konfigurationsinformationen zurück, die für jedes dieser EWS-Features spezifisch sind.

Hinweis

Die verwaltete EWS-API implementiert diese Funktion nicht.

Tabelle 1. Konfigurationsinformationen, die vom GetServiceConfiguration-Vorgang zurückgegeben werden

EWS-Feature GetServiceConfiguration-Vorgang gibt zurück...
UM
  • Ein -Wert, der angibt, ob UM aktiviert ist.
  • Ein -Wert, der angibt, ob die Wiedergabe auf dem Smartphone aktiviert ist.
  • Die Wählzeichenfolge für die Wiedergabe per Telefon.
Richtlinien-Nudges
  • Richtlinien-Nudges für die Anzeige in Ihrem Client.
E-Mail-Info
  • Ein -Wert, der angibt, ob E-Mail-Tipps aktiviert sind.
  • Die maximale Anzahl von Empfängern pro Anforderung.
  • Die maximale Nachrichtengröße.
  • Der Schwellenwert für große Zielgruppe.
  • Ein -Wert, der angibt, ob die Anzahl der externen Empfänger angezeigt wird.
  • Eine Liste interner Domänen.
  • Ein -Wert, der angibt, ob Richtlinientipps aktiviert sind.
  • Der Schwellenwert für die Obergrenze für große Zielgruppen, der angibt, ob Ihre E-Mail als eine große Anzahl von Empfängern gilt.
Schutzregeln
  • Einrichten von Schutzregeln für Ihren Client.
  • Eine Liste der Domänen, die in Ihrer Organisation intern sind.

Codebeispiel: Abrufen von Dienstkonfigurationsinformationen für E-Mail-Tipps mithilfe von EWS

Im folgenden Codebeispiel wird der GetServiceConfiguration-Vorgang verwendet, um Dienstkonfigurationsinformationen für E-Mail-Tipps anzufordern. Sie können zusätzliche Dienstkonfigurationsinformationen anfordern, indem Sie weitere ConfigurationName-Elemente mit unterschiedlichen Werten hinzufügen.

private static void GetServiceConfiguration(ExchangeService service, NetworkCredential creds)
{ 
  // XML for the GetServiceConfiguration request SOAP envelope for mail tips configuration information.
  const string getServiceConfigurationRequest = 
    "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
    "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
    "               xmlns:m=\"http://schemas.microsoft.com/exchange/services/2006/messages\"\n" +
    "               xmlns:t=\"http://schemas.microsoft.com/exchange/services/2006/types\" \n" +
    "               xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"\n" +
    "               xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n" +
    "  <soap:Header>\n" +
    "    <t:RequestServerVersion Version=\"Exchange2013\" />\n" +
    "  </soap:Header>\n" +
    "  <soap:Body>\n" +
    "    <m:GetServiceConfiguration>\n" +
    "      <m:ActingAs>\n" +
    "        <t:EmailAddress>user1@contoso.com</t:EmailAddress>\n" +
    "        <t:RoutingType>SMTP</t:RoutingType>\n" +
    "      </m:ActingAs>\n" +
    "      <m:RequestedConfiguration>\n" +
    "        <m:ConfigurationName>MailTips</m:ConfigurationName>\n" +
    "      </m:RequestedConfiguration>\n" +
    "    </m:GetServiceConfiguration>\n" +
    "  </soap:Body>\n" +
    "</soap:Envelope>";
  // Encoded GetServiceConfiguration operation request.
  byte[] payload = System.Text.Encoding.UTF8.GetBytes(getServiceConfigurationRequest);
  try
  {
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(service.Url);
    request.AllowAutoRedirect = false;
    request.Credentials = creds;
    request.Method = "POST";
    request.ContentType = "text/xml";
    Stream requestStream = request.GetRequestStream();
    requestStream.Write(payload, 0, payload.Length);
    requestStream.Close();
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    if (response.StatusCode == HttpStatusCode.OK)
    {
      Stream responseStream = response.GetResponseStream();
      StreamReader reader = new StreamReader(responseStream);
      string responseFromServer = reader.ReadToEnd();
      Console.WriteLine("You will need to parse this response to get the configuration information:\n\n" + responseFromServer);
      reader.Close();
      responseStream.Close();
    }
    else
      throw new WebException(response.StatusDescription);
          
  }
  catch (WebException e)
  {
    Console.WriteLine(e.Message);
  }
}

Nächste Schritte

Verwenden Sie nach dem Anfordern von Dienstkonfigurationsinformationen die XmlDocument-Klasse , um die Antwort-XML zu laden, damit Sie sie analysieren können. Je nach Szenario können Sie dann eine der folgenden Aktionen ausführen:

Siehe auch