Email e EWS no Exchange
Descubra como trabalhar com mensagens de email, incluindo como criar um email e como executar outras tarefas relacionadas a email usando a API Gerenciada do EWS ou o EWS no Exchange.
Em sua essência, o Exchange é sobre email. Mas o que faz de um email um email? Bem, as mensagens de email são um dos itens fortemente tipados no Exchange, o que significa que elas contêm um determinado conjunto de propriedades, mesmo antes de serem enviadas. Email mensagens são representadas pela classe EmailMessage na API Gerenciada do EWS e pelo elemento Message e seus elementos filho no EWS.
Na API Gerenciada do EWS, o objeto EmailMessage deriva do objeto Item . A classe EmailMessage estende a classe Item fornecendo propriedades adicionais como EmailMessage.Sender e EmailMessage.IsRead, que agora são comuns a quase todos os cenários de mensagens. Quando você obtém, atualiza ou exclui uma mensagem de email, na maioria dos casos você pode fazer isso usando o objeto EmailMessage ou o objeto Item base, dependendo se as propriedades com as quais você está trabalhando estão no EmailMessageSchema ou na classe ItemSchema . A criação de item é diferente porque a classe Item não tem um construtor, portanto, quando você estiver criando um email, você usará o construtor EmailMessage para criá-lo e os métodos EmailMessage.Save ou EmailMessage.SendAndSaveCopy para salvá-lo ou enviá-lo e salvá-lo.
Da mesma forma, no EWS, use a operação CreateItem com o elemento Mensagem para criar uma mensagem de email. Para obter, atualizar ou excluir emails usando o EWS, o fato de que o item que está sendo modificado é uma mensagem de email não é importante, além do fato de que propriedades adicionais estão disponíveis em mensagens de email. As mesmas operações usadas para outros itens fortemente tipados também são usadas para mensagens de email.
Tarefa | Método da API Gerenciada do EWS | Operação do EWS |
---|---|---|
Criar |
EmailMessage.Save |
CreateItem |
Obter |
EmailMessage.Bind |
GetItem |
Atualizar |
Item.Update |
UpdateItem |
Excluir |
Item.Delete |
DeleteItem |
Como as mensagens de email são simplesmente itens fortemente tipados, em alguns casos você trabalha com eles da mesma forma que trabalha com itens genéricos.
Criar uma mensagem de email usando a API Gerenciada do EWS
Você pode criar uma mensagem de email usando o método EWS Managed API Save, conforme mostrado no código no exemplo a seguir. Observe que o exemplo salva apenas a mensagem na pasta Rascunhos, ela não envia a mensagem. Para obter informações sobre como enviar a mensagem ou criar e enviar a mensagem em uma etapa, consulte Enviar mensagens de email usando o EWS no Exchange.
Esse exemplo pressupõe que serviço seja um objeto ExchangeService válido e que o usuário tenha sido autenticado em um servidor Exchange.
// 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.");
Criar uma mensagem de email usando o EWS
Você pode criar uma mensagem de email usando a operação CreateItem do EWS, conforme mostrado no exemplo a seguir. Essa também é a solicitação XML que a API Gerenciada do EWS envia quando você cria uma mensagem de email. Observe que o exemplo a seguir salva apenas a mensagem na pasta Rascunhos, ela não envia a mensagem. Para obter informações sobre como enviar a mensagem ou criar e enviar a mensagem em um ste, consulte Enviar mensagens de email usando o EWS no Exchange.
<?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="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>
O servidor responde à solicitação CreateItem com uma mensagem CreateItemResponse que inclui um valor ResponseCode de NoError, que indica que o email foi criado com êxito e o ItemId da mensagem recém-criada.
Obter, atualizar e excluir uma mensagem de email usando a API Gerenciada do EWS
Você pode usar a API Gerenciada do EWS para obter, atualizar ou excluir uma mensagem de email da mesma forma que executa essas ações em qualquer item genérico do repositório exchange. Para obter mais informações, consulte Trabalhar com itens de caixa de correio do Exchange usando o EWS no Exchange.
Se você estiver atualizando uma mensagem de email, consulte Email propriedades e elementos no EWS no Exchange para obter uma lista de propriedades de mensagem de email graváveis. Para enviar uma mensagem de rascunho depois de atualizá-la, consulte Enviar uma mensagem de email de rascunho usando a API Gerenciada do EWS.
Obter, atualizar e excluir uma mensagem de email usando o EWS
Você pode usar o EWS para obter, atualizar e excluir uma mensagem de email da mesma forma que executa essas ações em qualquer item genérico do exchange store. Para obter mais informações, consulte Trabalhar com itens de caixa de correio do Exchange usando o EWS no Exchange.
Se você estiver atualizando uma mensagem de email, consulte Email propriedades e elementos no EWS no Exchange para obter uma lista de propriedades de mensagem de email graváveis. Para enviar uma mensagem de rascunho depois de atualizá-la, consulte Enviar uma mensagem de email de rascunho usando o EWS.
Nesta seção
Extrair uma entidade de uma mensagem de email usando o EWS no Exchange
Processar mensagens de email em lotes usando o EWS no Exchange