Adicionar e remover endereços de email da Lista de Remetentes Bloqueados usando o EWS no Exchange
Descubra como usar a API Gerenciada do EWS ou o EWS para adicionar endereços de email e removê-los da Lista de Remetentes Bloqueados.
A Lista de Remetentes Bloqueados nas opções junk Email do usuário fornece uma maneira de mover todas as mensagens de email de remetentes especificados para a pasta Junk Email. Você pode habilitar sua API Gerenciada do EWS ou aplicativo EWS para adicionar endereços de email ou removê-los da Lista de Remetentes Bloqueados.
Observe que uma mensagem do endereço de email deve existir na caixa de correio do usuário para que você possa adicionar o endereço de email ou removê-lo da Lista de Remetentes Bloqueados. O método de API Gerenciada do ExchangeService.MarkAsJunk EWS e a operação MarkAsJunk EWS usam uma coleção de IDs de item. As IDs do item na coleção indicam mensagens na caixa de correio para a qual o status do lixo eletrônico deve ser alterado.
Você pode usar os cmdlets Get-MailboxJunkEmailConfiguration e Set-MailboxJunkEmailConfiguration Exchange Management Shell para acessar diretamente a Lista de Remetentes Bloqueados.
Adicione um endereço de email ou remova-o da Lista de Remetentes Bloqueados usando a API Gerenciada do EWS
Para adicionar o remetente de uma mensagem de email à Lista de Remetentes Bloqueados, use o método MarkAsJunk e defina o parâmetro isJunk como true. Para remover o remetente de uma mensagem de email da Lista de Remetentes Bloqueados, defina o parâmetro isJunk como false.
O exemplo a seguir mostra como usar o método MarkAsJunk para alterar o status de lixo eletrônico de uma mensagem.
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());
}
}
}
Adicionar um endereço de email ou removê-lo da Lista de Remetentes Bloqueados usando o EWS
A solicitação SOAP do EWS a seguir marca um item como lixo, definindo o atributo IsJunk no elemento MarkAsJunk como true. Ele também move a mensagem para a pasta Junk Email definindo o atributo MoveItem no elemento MarkAsJunk como true.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://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>
A resposta SOAP do EWS a seguir mostra a resposta bem-sucedida. O elemento MovedItemId na resposta contém a ID do item para o item depois que ele foi movido.
<?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="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns="http://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="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://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>