Agregar y quitar direcciones de correo electrónico de la lista de remitentes bloqueados mediante el uso de EWS en Exchange

Obtenga información sobre cómo usar la API administrada de EWS o EWS para agregar direcciones de correo electrónico a y quitarlas de la lista de remitentes bloqueados.

La lista de remitentes bloqueados en las opciones de Email no deseado de un usuario proporciona una manera de mover todos los mensajes de correo electrónico de los remitentes especificados a la carpeta junk Email. Puede habilitar la API administrada de EWS o la aplicación EWS para agregar direcciones de correo electrónico a o quitarlas de la lista de remitentes bloqueados.

Tenga en cuenta que debe existir un mensaje de la dirección de correo electrónico en el buzón del usuario para poder agregar la dirección de correo electrónico a o quitarla de la lista de remitentes bloqueados. El método de API administrada de EWS ExchangeService.MarkAsJunk y la operación EWS MarkAsJunk usan una colección de identificadores de elemento. Los identificadores de elemento de la colección indican mensajes en el buzón para el que se debe cambiar el estado del correo no deseado.

Puede usar los cmdlets Get-MailboxJunkEmailConfiguration y Set-MailboxJunkEmailConfiguration Exchange Management Shell para acceder directamente a la lista de remitentes bloqueados.

Agregar una dirección de correo electrónico a o quitarla de la lista de remitentes bloqueados mediante la API administrada de EWS

Para agregar el remitente de un mensaje de correo electrónico a la lista de remitentes bloqueados, use el método MarkAsJunk y establezca el parámetro isJunk en true. Para quitar el remitente de un mensaje de correo electrónico de la lista de remitentes bloqueados, establezca el parámetro isJunk en false.

En el ejemplo siguiente se muestra cómo usar el método MarkAsJunk para cambiar el estado no deseado de un mensaje.

private static void MarkMessageAsJunk(ExchangeService service, ItemId messageId, bool isJunk, bool moveItem)
{
    List<ItemId> junkItemIds = new List<ItemId>();
    junkItemIds.Add(messageId);
    ServiceResponseCollection<MarkAsJunkResponse> responseCollection = null;
    try
    {
        // If isJunk is true, the sender of the email message is added to 
        // the Blocked Senders List. If isJunk is false, the sender is removed
        // from the list (if present).
        responseCollection = service.MarkAsJunk(junkItemIds, isJunk, moveItem);
    }
    catch (ServiceResponseException ex)
    {
        Console.WriteLine("Error marking item as junk: {0}", ex.ErrorCode);
        return;
    }
    foreach (MarkAsJunkResponse response in responseCollection)
    {
        if (response.Result == ServiceResult.Success)
        {
            Console.WriteLine("Successfully marked message as {0}junk.", isJunk ? "": "NOT ");
            if (moveItem)
            {
                Console.WriteLine("New item ID: {0}", response.MovedItemId.ToString());
            }
        }
        else
        {
            Console.WriteLine("[{0}]: {1}", response.Result.ToString(),
                response.ErrorCode.ToString());
        }
    }
}

Agregar una dirección de correo electrónico a o quitarla de la lista de remitentes bloqueados mediante EWS

La siguiente solicitud SOAP de EWS marca un elemento como no deseado estableciendo el atributo IsJunk en el elemento MarkAsJunk en true. También mueve el mensaje a la carpeta Junk Email estableciendo el atributo MoveItem en el elemento MarkAsJunk en true.

<?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:MarkAsJunk IsJunk="true" MoveItem="true">
      <m:ItemIds>
        <t:ItemId Id="AAMkADg1OWUwODcyLTg4M2MtNDAyMS05YjI0LTI5ZGM5OTU4Njk3YwBGAAAAAADPriAxh444TpHj2GoQxWQNBwAN+VjmVZl5Rq1ymCq5eFKOAAAAAAENAAAN+VjmVZl5Rq1ymCq5eFKOAAAAAAEuAAA=" 
            ChangeKey="CQAAABYAAAAN+VjmVZl5Rq1ymCq5eFKOAAAAAADi" />
      </m:ItemIds>
    </m:MarkAsJunk>
  </soap:Body>
</soap:Envelope>

La siguiente respuesta SOAP de EWS muestra la respuesta correcta. El elemento MovedItemId de la respuesta contiene el identificador de elemento del elemento después de moverlo.

<?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="712" MinorBuildNumber="22" Version="V2_3" 
        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:MarkAsJunkResponse xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
        xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
      <m:ResponseMessages>
        <m:MarkAsJunkResponseMessage ResponseClass="Success">
          <m:ResponseCode>NoError</m:ResponseCode>
          <m:MovedItemId Id="AAMkADg1OWUwODcyLTg4M2MtNDAyMS05YjI0LTI5ZGM5OTU4Njk3YwBGAAAAAADPriAxh444TpHj2GoQxWQNBwAN+VjmVZl5Rq1ymCq5eFKOAAAAAAEbAAAN+VjmVZl5Rq1ymCq5eFKOAAAE59DIAAA="
              ChangeKey="CQAAABYAAAAN+VjmVZl5Rq1ymCq5eFKOAAAE59E+" />
        </m:MarkAsJunkResponseMessage>
      </m:ResponseMessages>
    </m:MarkAsJunkResponse>
  </s:Body>
</s:Envelope>

Vea también