Невозможно выполнить эту операцию так как сообщение было изменено outlook
Перейти к содержимому

Невозможно выполнить эту операцию так как сообщение было изменено outlook

  • автор:

Причина и исправление «Операция не может быть выполнена, поскольку сообщение было изменено» в Outlook-VSTO

Код, который я пытаюсь заставить работать, просто добавляет «C» к теме письма или удаляет ее, если она уже есть. Следующее является просто упрощением исходной задачи, которое приводит к той же проблеме. Я использую .NET framework 4.7.2 и надстройки Express Regions для пользовательского интерфейса (что, я думаю, не имеет значения).

Класс ThisAddIn содержит следующее:

И событие button-click в форме имеет только этот код:

И это на самом деле отлично работает для писем из моего личного почтового ящика, но создает исключения для писем из Exchange, поэтому те, которые я загружаю, нажимая эту кнопку:

Mails that only appear after clicking this button throw the exception

Нажатие кнопки один раз работает нормально, но повторное нажатие всегда вызывает System.Runtime.InteropServices.COMException с сообщением «Функция не может быть выполнена, поскольку сообщение было изменено». как сообщение. Который я получаю, так как это действительно было изменено. И просматривая StackOverflow, я прочитал, что я должен освободить COM-объекты с помощью System.Runtime.InterServices.Marshal.ReleaseComObject() . Мой вопрос здесь:

  • Почему я должен явно выпускать объекты в 2022 году? Такое ощущение, что я делаю что-то устаревшее.
  • Как? Это действительно правильный метод?
  • Что (отпустить)? Почта? Исследователь? Все? Я особенно смущен этим, так как что бы я ни пытался выпустить, это, похоже, не исправляет. Кроме того, где я могу выпустить «это» — в ThisAddIn или в форме?

Я ценю любую помощь!

ИЗМЕНИТЬ

Я изменил код нажатия кнопки на:

И все равно получаю ту же ошибку. Единственное, что я не выпустил, — это Приложение, выпуск которого кажется не очень хорошей идеей. Однако после исключения я могу снова сохранить. Так что каждая вторая попытка работает.

2 ответа

Не оставляйте объекты живыми, если они вам не нужны для запуска событий. В противном случае у вас могут возникнуть проблемы с синхронизацией с Exchange. Это также возможное указание на использование кода (изменение объектов) в нескольких потоках. Вместо этого вы можете получить выбранные в данный момент элементы из класса региона, где обрабатывается нажатие кнопки.

Обратите внимание, что в областях формы надстройки Express вы можете использовать свойства ExplorerObj или InspectorObj , чтобы получить элементы, для которых отображается область формы.

Если вы не используете Marshal.ReleaseComObject , он будет выпущен GC в неопределенное время в будущем через несколько секунд. Если объект все еще жив (до того, как GC освободит его), Outlook кэширует его и возвращает тот же устаревший объект. Это не было бы проблемой, но Exchange любит настраивать объекты после их сохранения. Например. следующая последовательность приведет к ошибке, которую вы видите:

  1. Вы изменяете объект
  2. Поставщик OST отправляет изменения на сервер
  3. Обмен модифицирует его
  4. Изменение вытягивается с сервера в OST
  5. Вы снова изменяете тот же объект из (1).

Решение состоит в том, чтобы освобождать объекты, как только вы закончите с ними, чтобы они снова открывались в следующий раз, когда вам нужно их изменить.

Невозможно выполнить эту операцию так как сообщение было изменено outlook

Доброго всем дня!

Один из пользователей начал жаловаться, что его Outlook неадекватно себя ведёт. Пишет он ответ, пытается отправить, а аутглю ему вот такое сообщение: "Невозможно выполнить эту операцию, так как сообщение было изменено." Бывает ещё вот такое: "Невозможно выполнить операцию. Интерфейс передачи сообщений возвратил неизвестную ошибку. Если это повторится, перезагрузите Outlook."

Сообщение об ошибке Outlook при попытке переместить сообщения электронной почты в папки

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

» невозможно переместить элементы. Элемент не может быть перемещен. Это было либо уже
перемещено или удалено, или доступ запрещен.»

Это происходит с обеих новые письма, и старые письма.

Я где-то изменил настройку, не осознавая этого?

9 ответов

когда в статусе по электронной почте, изменения, т. е. от непрочитанных читать и вам попробовать, чтобы переместить его, вы получите это сообщение, пока вы не можете пометить элемент как прочитанные/непрочитанные; который, кажется, чтобы получить в Outlook непослушные внимание еще на одну деталь — то вы можете переместить элемент, который вы изначально хотели двигаться. Это ошибка, и я сомневаюсь, что кто-то вообще обратит на нее внимание.

Я бы предложил закрыть Outlook и запустить scanpst.exe инструмент, чтобы убедиться, что нет никаких проблем с файлом pst. Этот инструмент присутствует в

C:\Program файлы\Microsoft Office\Office12\SCANPST.EXE

расположение в Windows XP.

решение от support.microsoft.com:

при попытке переместить или скопировать сообщение из папки «Входящие» или личной папки (.PST) файл в общую папку, появляется одно из следующих сообщений об ошибке: не удается переместить элементы. Не удалось переместить элемент. Он либо уже перемещен, либо удален, либо доступ запрещен.

эта проблема может возникнуть, если явный запрет установлен для группы » все » в одном из следующих разрешений на корневой общедоступной дерево папок:

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

Запустите Диспетчер Exchange.

под объектом Folders щелкните правой кнопкой мыши объект Public Folders, и затем щелкните свойства.

перейдите на вкладку Безопасность и выберите группу все.

снимите флажок запретить для трех следующих разрешения:

Нажмите кнопку Применить, а затем нажмите кнопку ОК, чтобы закрыть свойства.

Как отозвать письмо в Outlook: пошаговая инструкция для всех версий

Как отозвать письмо в Outlook

Ничего и никого идеального нет, все, даже мастера своего дела, совершают ошибки. Что уж говорить о рядовом пользователе компьютером. По невнимательности, в спешке или по неосторожности от может отправить письмо не тому адресату или получить возможность отредактировать содержимое вложения. Ну забыл прикрепить документ или изменилась ситуация, сделав отправленное сообщение неактуальным. В этих и иных подобных случаях полезно использовать функцию отмены отправленного сообщения. Давайте рассмотрим, как отозвать письмо в Outlook 2007-2016.

Пару слов о Microsoft Outlook

Аутлук – почтовый клиент, мессенджер и индивидуальный менеджер от Microsoft с функциями отслеживания офисных документов и обмена сообщениями. Чаще всего используется как почтовый сервер для совместной работы в пределах одной компании или отдела.

Позволяет организовывать общие почтовые ящики, календари, конференции, согласовывать текстовые документы и многое другое в этом роде.

Как отозвать письмо в Outlook: пошаговая инструкция для всех версий

Рис. 1 – Microsoft Outlook

Ограничения

Отозвать отправленное письмо в любой версии Outlook можно только в том случае, если адресат не открыл и не прочитал его или не пометил как прочтенное. Иначе сделать это сможет только администратор системы через PowerShell или иными средствами.

Дополнительные условия, не позволяющие осуществить отзыв письма в Outlook:

  • используется отличный от outlook.com адрес электронной почты;
  • не работаете с сервером Exchange (в перечень его возможностей входит возврат и удаление отправленных писем);
  • адресат активировал режим автономного функционирования в настройках свой учётной записи;
  • на компьютере адресата включено кэширование – все входящие сообщения хранятся на ПК, и отмена отправки письма Outlook ни к чему не приведёт.

В остальных ситуациях возможна отмена отправки или редактирование исходящего сообщения.

В почтовом клиенте Outlook от Microsoft, любой версии делается это выполнением практически одних и тех же действий, но ввиду отличия интерфейса новички не всегда ориентируются, где находятся исходящие письма в Outlook или отправленные, например, 2007 и в Outlook 2013, поэтому мы рассмотрим процесс для всех редакций почтового клиента.

Отмена письма в Outlook 2003

Далеко не все частные компании, а тем более государственные, успевают обновлять оборудование, шагая в ногу со скоростью технического прогресса. В итоге во многих учреждениях работают под управлением Windows XP, а в качестве офисных приложений на них установлен Office 2003.

Но уже он позволят возвращать отправленные сообщения и изменять их содержимое.

Как отозвать письмо в Outlook: пошаговая инструкция для всех версий

Рис. 3 – Удаление отправленного письма в Outlook 2003

Как отозвать письмо в Outlook: пошаговая инструкция для всех версий

Рис. 4 — Выбираем между удалением и редактированием

Если оно не прочитано, сообщение будет удалена из входящих в адресата, а вы получите уведомление об этом.

Редактирование отправления в Outlook 2007

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

Рис. 2 – Изменение сообщения в Outlook 2007

В той же вкладке активируем кнопку Отслеживание и проверяем статус отправления. Если спустя несколько минут исходное сообщение не было отменено или изменено, скорее всего оно прочитано. Но и после этого получатель получит уведомление в внесённых изменениях.

Отзываем сообщение в Outlook 2010, 2013

Теперь покажем, как в Outlook 2010 и 2013 годов отозвать сообщение. Действия будут аналогичными, и повторяться, чтобы сделать то же самое для каждой версии программы, смысла не имеет.

Итак, если успели нажать на клавишу «Отправить письмо», а затем поняли, что в него нужно внести правки, выполняем следующую цепочку действий. В первую очередь нужно открыть отосланное сообщение. Делается это следующим образом:

Как отозвать письмо в Outlook: пошаговая инструкция для всех версий

Рис. 5 – Повторная отправка в Outlook 2007

Опция отслеживания исходного сообщения позволит увидеть, отзыв выполняется успешно или он не осуществился по одной из перечисленных выше причин.

Отзыв письма в Outlook 2016

Возврат и редактирование сообщения в Microsoft Outlook 2016, который мало чем отличается от процесса в старых версиях клиента. Все осталось неизменным, в плане расположения и функционала.

Как отозвать письмо в Outlook: пошаговая инструкция для всех версий

Рис. 6 – Панель действий

Как отозвать письмо в Outlook: пошаговая инструкция для всех версий

Рис. 7 – Выбор операции с отправлением

При успехе вам придёт уведомление об этом.

Как отозвать письмо в Outlook: пошаговая инструкция для всех версий

Рис. 8 – Успешный отзыв

Во втором случае (редактирование), изменяем исходный текст и вложения и отправляем заново.

Как отозвать письмо в Outlook: пошаговая инструкция для всех версий

Рис. 9 – Редактируем исходное сообщение

Если команда отзыва и повторной отправки на втором шаге не обнаруживается или не активна кнопка (окрашена в серый цвет), значит не выполнено одно из требований выше или у вас нет учетной записи Exchange.

Проверить наличие Microsoft Exchange можно следующим образом:

Как отозвать письмо в Outlook: пошаговая инструкция для всех версий

Рис. 10 – Проверка наличия аккаунта Exchange

Как отозвать письмо в Outlook: пошаговая инструкция для всех версий

Рис. 11 – Тип учётной записи

Через браузер или Outlook Web App

Всё то же самое можно проделать через интернет-обозреватель.

Как отозвать письмо в Outlook: пошаговая инструкция для всех версий

Рис. 12 — Вход в электронную версию Outlook

Как отозвать письмо в Outlook: пошаговая инструкция для всех версий

Рис. 13 – Отмена сообщения через браузер

Подведем итоги

Мы рассмотрели все способы, как отозвать отправленное письмо в Outlook начиная с 2003 версии и заканчивая 2016, при использовании почтового сервера Exchange. А также рассмотрели, как правильно отозвать сообщение через веб интерфейс в онлайн версии почтового клиента.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *