2015-07-09 1 views
0

У нас есть компонент, который захватывает электронные письма/встречи с Exchange (Online, 2013, 2010), и мы хотели бы создать рассылку электронной почты в прошлые временные рамки, например. 6 месяцев для целей тестирования.Есть ли способ генерировать электронные письма на Exchange с прошлыми отправленными или полученными датами.

Для этого нам необходимы электронные письма, которые получили/отправили даты в прошлом, а не начали с текущего (с момента генерации) времени, когда мы начали генерировать электронную почту.

Мы рассмотрели API EWS - он не поддерживает изменение дат для созданных (сгенерированных) писем.

Какие еще варианты существуют?

ответ

0

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

 EmailMessage OldMessage = new EmailMessage(service); 
     OldMessage.ToRecipients.Add("[email protected]"); 
     OldMessage.Sender= new EmailAddress("[email protected]"); 
     OldMessage.From = new EmailAddress("[email protected]"); 
     OldMessage.Subject = "This is an old message"; 
     OldMessage.Body = new MessageBody("test"); 
     ExtendedPropertyDefinition PR_Flags = new ExtendedPropertyDefinition(3591,MapiPropertyType.Integer); 
     OldMessage.SetExtendedProperty(PR_Flags,1); 
     ExtendedPropertyDefinition PR_CLIENT_SUBMIT_TIME = new ExtendedPropertyDefinition(0x0039,MapiPropertyType.SystemTime); 
     ExtendedPropertyDefinition PR_MESSAGE_DELIVERY_TIME = new ExtendedPropertyDefinition(0x0E06,MapiPropertyType.SystemTime); 
     OldMessage.SetExtendedProperty(PR_CLIENT_SUBMIT_TIME,DateTime.Now.AddMonths(-6)); 
     OldMessage.SetExtendedProperty(PR_MESSAGE_DELIVERY_TIME,DateTime.Now.AddMonths(-6)); 
     OldMessage.Save(WellKnownFolderName.Inbox); 

Вы также можете просто импортировать сообщение, используя MimeContent, что будет делать то же самое, например, https://msdn.microsoft.com/en-us/library/office/dn672319(v=exchg.150).aspx

Приветствия Глен

Смежные вопросы