Java EWS: удалить задержку отправки электронной почты с Outlook Exchange Server - PullRequest
0 голосов
/ 01 февраля 2019

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

Настройка задержки отправки электронного письма довольно проста и работает:

if (extendedProperties.getDelaySend()) {
    Date sendDate =  extendedProperties.getDeferredSendTime();
    if (sendDate != null) {
        ExtendedPropertyDefinition PR_DEFERRED_SEND_TIME = new ExtendedPropertyDefinition(16367,
                MapiPropertyType.SystemTime);

        msg.setExtendedProperty(PR_DEFERRED_SEND_TIME, sendDate);
    }
}

Отправка письма:

msg.save(WellKnownFolderName.SentItems);
//msg.send();
msg.sendAndSaveCopy();

И я пытаюсь удалить письмо какследующим образом:

ItemView view = new ItemView(3);
SearchFilter sf = new SearchFilter.IsEqualTo(epd,"isiId");
FindItemsResults<Item> fir = service.findItems(WellKnownFolderName.SentItems, sf, view);
for (Item itm : fir.getItems()){
    _logNode.info("SendEmailMessageHelper.deleteEmailByUniqueId: Found Email ItemId: "+itm.getId());
    _logNode.info("SendEmailMessageHelper.deleteEmailByUniqueId: Found Email Subject: "+itm.getSubject());
    //ExtendedPropertyDefinition PR_DEFERRED_SEND_TIME = new ExtendedPropertyDefinition(16367,
    //        MapiPropertyType.SystemTime);

    //itm.removeExtendedProperty(PR_DEFERRED_SEND_TIME);
    itm.delete(DeleteMode.MoveToDeletedItems);
}

Проблема не имеет значения, какой DeleteMode я использую, я получаю сообщение об ошибке от Exchange: Объект не может быть удален.

При попытке удалить сообщение вручную из Outlook Web App появляется такое же / похожее сообщение: Некоторые элементы удалить нельзя.Они были либо перемещены, либо уже удалены, либо доступ запрещен. Администратор Exchange заверил меня, что пользователь имеет полный контроль над почтовым ящиком.

Любая помощь приветствуется.

Ссылки: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/fc748985-b9e9-41d8-b426-46f9e677cd41/e2007ewscwindows-cannot-delete-delayed-delivery-emails?forum=exchangesvrdevelopment

Вышеупомянутый выпуск за 2015 год без видимого разрешения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...