VSTO Outlook Надстройка не будет перемещать элемент другого магазина - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть надстройка Outlook, которая перемещает элемент электронной почты в другую папку в другом почтовом ящике.По крайней мере, раньше это делало.Теперь это больше не двигает это.Я написал другую тестовую надстройку, которая перемещает элемент электронной почты в другую папку в почтовом ящике текущего пользователя, и он действительно работает, поэтому я задаюсь вопросом: есть ли какие-либо вопросы о перемещении элементов в другой почтовый ящик, которые вызывают проблемы?

Вот некоторый код для объяснения вещей:

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

stores = Globals.ThisAddIn.OutlookApplication.GetNamespace("MAPI").Stores;

, затем выполняет итерацию по каждому хранилищу, используяцикл foreach,

foreach (Outlook.Store store in stores)

Получает текущий входной почтовый ящик, для использования позже,

destinationMailboxFolderInbox = (Outlook.Folder)store.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);

Если это имя хранилища DisplayName совпадает с тем, которое я указал в качестве места назначения, оно переходит к поискуподпапки для нужной мне папки,

if (store.DisplayName.Equals(destinationMailbox))
{
    foreach (Outlook.Folder myFolder in destinationMailboxFolderInbox.Folders)
    {
        if (myFolder.Name.Equals(destinationMailboxFolder))
        {
            item.Move(myFolder);

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

Как я уже сказал, он работает, когдаЯ изменил его, чтобы использовать почтовый ящик моего текущего пользователя.Он не работает, когда я устанавливаю его в общий почтовый ящик, к которому у текущего пользователя есть доступ.

Есть ли какой-то другой шаг, который мне не хватает?

1 Ответ

0 голосов
/ 11 июля 2019

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

Обходным решением было создание кнопки «Быстрый шаг» в Outlook для перемещения электронной почты.Пользователь Outlook нажимает кнопку «Надстройка с VSTO-кодом», чтобы сохранить вложения, а затем нажимает кнопку «Быстрый шаг», чтобы переместить письмо в папку.

...