Как обойти запрос учетных данных Outlook из внешней программы? - PullRequest
0 голосов
/ 30 января 2019

Я начал разработку внешней программы для обработки сообщений электронной почты из магазинов в Outlook и сохранения их в нашем веб-приложении.

Сегодня у меня есть надстройка Outlook, которая выполняет эту обработку, но я хотел избежать этого в надстройке, потому что иногда Outlook зависает от 1 до 2 секунд.

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

RDOSession session = RedemptionLoader.new_RDOSession();
session.Logon();

RDOStore store = null;

for (int i = 1; i < session.Stores.Count; i++)
{
    store = session.Stores[i];
    store.OnNewMail += (entryID) => { MessageBox.Show(entryID); };
}

1 Ответ

0 голосов
/ 30 января 2019

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

Но самое главное, событие NewMail запускается только в основном почтовом ящике в профиле, поэтому вам нужно только RDOSession.Stores.DefaultStore.

Конечно, вы можете использовать событие Items.ItemAdd в папке «Входящие» других хранилищ, но, опять же, хранилища общих папок не имеют папки «Входящие».При циклическом просмотре магазинов проверьте свойство RDOStore.StoreKind.

...