Электронная почта и веб-службах Exchange

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

По своей сути Exchange относится к электронной почте. Но что делает электронную почту электронной почтой? Сообщения электронной почты являются одним из строго типизированных элементов в Exchange, что означает, что они содержат определенный набор свойств еще до отправки. Email сообщения представлены классом EmailMessage в управляемом API EWS и элементом Message и его дочерними элементами в EWS.

В управляемом API EWS объект EmailMessage является производным от объекта Item . Класс EmailMessage расширяет класс Item , предоставляя дополнительные свойства, такие как EmailMessage.Sender и EmailMessage.IsRead, которые теперь являются общими для почти всех сценариев обмена сообщениями. При получении, обновлении или удалении сообщения электронной почты в большинстве случаев это можно сделать с помощью объекта EmailMessage или базового объекта Item в зависимости от того, находятся ли свойства в классе EmailMessageSchema или ItemSchema . Создание элемента отличается тем, что у класса Item нет конструктора, поэтому при создании сообщения электронной почты вы будете использовать конструктор EmailMessage для его создания и методы EmailMessage.Save или EmailMessage.SendAndSaveCopy , чтобы сохранить его или отправить его и сохранить.

Аналогичным образом в EWS используйте операцию CreateItem с элементом Message для создания сообщения электронной почты. Для получения, обновления или удаления сообщений электронной почты с помощью EWS не имеет значения тот факт, что изменяемый элемент является сообщением электронной почты, кроме того, что в сообщениях электронной почты доступны дополнительные свойства. Те же операции, которые используются для других строго типизированных элементов, также используются для сообщений электронной почты.

Задача Метод управляемого API EWS Операция EWS
Create
EmailMessage.Save
CreateItem
Получение
EmailMessage.Bind
GetItem
Update
Item.Update
UpdateItem
Удалить
Item.Delete
DeleteItem

Так как сообщения электронной почты — это просто строго типизированные элементы, в некоторых случаях вы работаете с ними так же, как с универсальными элементами.

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

Вы можете создать сообщение электронной почты с помощью метода EWS Managed API Save , как показано в коде в следующем примере. Обратите внимание, что в примере сообщение сохраняется только в папке Черновики, а не отправляется сообщение. Сведения о том, как отправить сообщение или создать и отправить сообщение за один шаг, см. в статье Отправка сообщений электронной почты с помощью EWS в Exchange.

В этом примере предполагается, что служба является действительным объектом ExchangeService, и что пользователь прошел проверку подлинности на сервере Exchange server.

// Create a new email message.
EmailMessage message = new EmailMessage(service);
// Set properties on the email message.
message.ToRecipients.Add("mack@contoso.com");
message.Subject = "Project priorities";
message.Body = "(1) Buy pizza, (2) Eat pizza";
// Save the email message to the Drafts folder (where it can be retrieved, updated, and sent at a later time).
// This method call results in a CreateItem call to EWS.
message.Save(WellKnownFolderName.Drafts);
Console.WriteLine("A draft email message with the subject '" + message.Subject + "' has been saved to the Drafts folder.");

Создание сообщения электронной почты с помощью EWS

Вы можете создать сообщение электронной почты с помощью операции EWS CreateItem , как показано в следующем примере. Это также XML-запрос, который управляемый API EWS отправляет при создании сообщения электронной почты. Обратите внимание, что в следующем примере сообщение сохраняется только в папке Черновики, но оно не отправляет сообщение. Сведения об отправке сообщения или создании и отправке сообщения в одном элементе см. в статье Отправка сообщений электронной почты с помощью EWS в Exchange.

<?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_SP2" />
  </soap:Header>
  <soap:Body>
    <m:CreateItem MessageDisposition="SaveOnly">
      <m:SavedItemFolderId>
        <t:DistinguishedFolderId Id="drafts" />
      </m:SavedItemFolderId>
      <m:Items>
        <t:Message>
          <t:Subject>Project priorities</t:Subject>
          <t:Body BodyType="HTML">(1) Buy pizza, (2) Eat pizza</t:Body>
          <t:ToRecipients>
            <t:Mailbox>
              <t:EmailAddress>mack@contoso.com</t:EmailAddress>
            </t:Mailbox>
          </t:ToRecipients>
        </t:Message>
      </m:Items>
    </m:CreateItem>
  </soap:Body>
</soap:Envelope>

В ответ на запрос CreateItem сервер отправляет сообщение CreateItemResponse, включающее параметр ResponseCode со значением NoError, которое указывает, что сообщение было успешно создано, и свойство ItemId созданного сообщения.

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

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

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

Получение, обновление и удаление сообщения электронной почты с помощью EWS

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

Если вы обновляете сообщение электронной почты, список свойств сообщений электронной почты, доступных для записи, см. в разделе Email свойств и элементов в EWS в Exchange. Сведения об отправке черновика сообщения после его обновления см. в статье Отправка черновика сообщения электронной почты с помощью EWS.

В этом разделе:

См. также