Поделиться через


Добавление и удаление электронных адресов из списка заблокированных отправителей

Узнайте, как использовать управляемый API EWS или EWS для добавления адресов электронной почты в список заблокированных отправителей и их удаления из списка заблокированных отправителей.

Список заблокированных отправителей в параметрах Нежелательной Email пользователя позволяет переместить все сообщения электронной почты от указанных отправителей в папку "Нежелательная Email". Вы можете включить управляемый API EWS или приложение EWS, чтобы добавлять адреса электронной почты или удалять их из списка заблокированных отправителей.

Обратите внимание, что сообщение с адреса электронной почты должно существовать в почтовом ящике пользователя, прежде чем его можно будет добавить в список заблокированных отправителей или удалить его из него. Метод Управляемого API ExchangeService.MarkAsJunk EWS и операция MarkAsJunk EWS используют коллекцию идентификаторов элементов. Идентификаторы элементов в коллекции указывают на сообщения в почтовом ящике, для которых необходимо изменить состояние нежелательной почты.

Для прямого доступа к списку заблокированных отправителей можно использовать командлеты Командлеты Командной консоли Exchange Get-MailboxJunkEmailConfiguration и Set-MailboxJunkEmailConfiguration .

Добавление адреса электронной почты в список заблокированных отправителей или удаление его из списка заблокированных отправителей с помощью управляемого API EWS

Чтобы добавить отправителя сообщения электронной почты в список заблокированных отправителей, используйте метод MarkAsJunk и присвойте параметру isJunkзначение true. Чтобы удалить отправителя сообщения электронной почты из списка заблокированных отправителей, задайте для параметра isJunkзначение false.

В следующем примере показано, как использовать метод MarkAsJunk для изменения состояния нежелательной почты сообщения.

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());
        }
    }
}

Добавление адреса электронной почты в список заблокированных отправителей или удаление его из списка заблокированных отправителей с помощью EWS

Следующий запрос SOAP EWS помечает элемент как нежелательный, задав атрибуту IsJunk в элементе MarkAsJunkзначение true. Он также перемещает сообщение в папку Нежелательная Email, задав для атрибута MoveItem в элементе MarkAsJunkзначение 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>

В следующем ответе EWS SOAP показан успешный ответ. Элемент MovedItemId в ответе содержит идентификатор элемента после его перемещения.

<?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>

См. также