Quando enviamos uma mensagem via EWS, é bom ficarmos com o ID da mesma para tratamento com outros métodos, podemos querer gravar no SQL Server por exemplo as propriedades das mensagem, fica aqui um código simples que permite retirar o UniqueID, bem como as outras propriedades da mensagem
// Criar a mensagem e define algumas propriedades básicas.
EmailMessage message = new EmailMessage(service);
message.Subject = "Message Subject";
message.Body = "This message was sent by using the EWS Managed API.";
message.ToRecipients.Add("User1@example.com");
// Cria uma propriedade personalizada estendida e adicioná-lo à mensagem
Guid myPropertySetId = new Guid("{20B5C09F-7CAD-44c6-BDBF-8FCBEEA08544}");
ExtendedPropertyDefinition myExtendedPropertyDefinition = new ExtendedPropertyDefinition(myPropertySetId,
"MyExtendedPropertyName", MapiPropertyType.String);
message.SetExtendedProperty(myExtendedPropertyDefinition, "MyExtendedPropertyValue");
// Envia a mensagem e salva uma cópia.
message.SendAndSaveCopy();
// Espera um segundo (enquanto o EWS envia e salva a mensagem).
System.Threading.Thread.Sleep(1000);
// Agora, encontra a cópia gravada da mensagem usando a propriedade
ItemView view = new ItemView(5);
SearchFilter searchFilter = new SearchFilter.IsEqualTo(myExtendedPropertyDefinition, "MyExtendedPropertyValue");
view.PropertySet = new PropertySet(BasePropertySet.IdOnly, ItemSchema.Subject, myExtendedPropertyDefinition);
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.SentItems, searchFilter, view);
//Processa os resultados
foreach (Item myItem in findResults.Items)
{
if (myItem is EmailMessage)
{
EmailMessage em = myItem as EmailMessage;
Console.WriteLine(em.Subject);
Console.WriteLine(em.Id.UniqueId);
}
}
Sem comentários:
Enviar um comentário