Как подключиться к почтовому ящику Office 365 с помощью активации

Я хочу подключиться к Office 365 с использованием выкупа и загрузить все электронные письма из почтового ящика и из других папок, моя машина разработки

  • Windows 10 X64
  • Visual Studio 2015 Pro
  • Outlook не установлен на моем компьютере для разработки
  • Установлен клиент MAPI сервера Microsoft Exchange и объекты данных для совместной работы 1.2.1 с этого ссылка
  • Использовал эту команду для регистрации redemption.dll в моем файле form1.cs regsvr32.exe <fullpath>\redemption.dll
  • Ссылка на Interop.Redemption.dll в моем проекте

Это код, который я пытаюсь подключиться к почтовому ящику Office365

  string codeBase = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;
            UriBuilder uri = new UriBuilder(codeBase);
            string path = Uri.UnescapeDataString(uri.Path);
            path = Path.GetDirectoryName(path);

            RedemptionLoader.DllLocation32Bit = string.Concat(path, @"\Redemption.dll");
            RedemptionLoader.DllLocation64Bit = string.Concat(path, @"\Redemption64.dll");

            RDOSession session = RedemptionLoader.new_RDOSession();

            session.LogonHostedExchangeMailbox("smtp.office365.com", "[email protected]","xxxx");// getting error at this line               

            if (session.LoggedOn)
            {
                RDOFolder contactsFolder;    
                contactsFolder = session.GetDefaultFolder(rdoDefaultFolders.olFolderContacts);
                var i = contactsFolder.Folders.Count;

                foreach (var item in contactsFolder.Folders)
                {
                    var obj = (RDOFolder2)item;
                    var name = obj.AddressBookName;    
                }
            }

Это ошибка, которую я получаю

System.Runtime.InteropServices.COMException не было обработано
ErrorCode = -2147023541 HResult = -2147023541 Сообщение = Указанный домен либо не существует, либо с ним невозможно связаться
Source = Redemption.RDOSession StackTrace: at Redemption.IRDOSession.LogonHostedExchangebox (String SMTPAddress, String UserName, String Password) в Office365Backup.Form1.CreateSession () в D: \ Data \ Projects \ DotNet \ Office365Backup \ Source \ Office365Backup \ Form1.cs: строка 40 в Office365Backup.Form1..ctor () в D: \ Data \ Projects \ DotNet \ Office365Backup \ Source \ Office365Backup \ Form1.cs: строка 19 в Office365Backup.Program.Main () в D: \ Data \ Projects \ DotNet \ Office365Backup \ Source \ Office365Backup \ Program.cs: строка 25 в System.AppDomain._nExecuteAssembly (сборка RuntimeAssembly, String [] args) в System.AppDomain.ExecuteAssembly (String assemblyFile, Evidence assemblySecurity, String [] args) в Microsoft.VisualStudio.HostingProcess.HostProc .RunUsersAssembly () в System.Threading.ThreadHelper.ThreadStart_Context (состояние объекта) в System.Threading.ExecutionContext.RunInternal (ExecutionContext ExecutionContext, обратный вызов ContextCallback, состояние объекта, логическое значение preserveSyncCtx) в контексте выполнения контекста System.Threadc. обратный вызов, состояние объекта, логическое значение preserveSyncCtx) в System.Threading.ExecutionContext.Run (ExecutionContext executionContext, обратный вызов ContextCallback, состояние объекта) в System.Threading.ThreadHelper.ThreadStart () InnerException:

Любые советы по успешному выполнению этой задачи.

Спасибо


person Shax    schedule 03.10.2017    source источник


Ответы (1)


Чтобы подключиться к почтовому ящику Office 365 (или любому почтовому ящику на Exchange 2013 или 2016), вам понадобится версия MAPI для Outlook (Outlook 2010 с пакетом обновления 2, Outlook 2013 с пакетом обновления 1 или Outlook 2016) - автономная версия MAPI не может подключиться, поскольку Exchange будет отказаться от подключения.

Также обратите внимание, что первый аргумент в LogonHostedExchangeMailbox - это SMTP-адрес пользователя, а не имя сервера.

person Dmitry Streblechenko    schedule 03.10.2017
comment
Вы хотите сказать, что он использует автономную версию и ему нужно использовать версию MAPI для Outlook? Вы поняли это из его заявления, что Outlook не установлен на его машине разработки? Изменить: Кроме того, означает ли клиент MAPI автономный? - person Maderas; 03.10.2017
comment
@ Дмитрий, что вы имеете в виду под версией MAPI для Outlook, вы имеете в виду, что мне нужно установить Outlook 2013 или 2016, или есть что-то еще, что мне нужно установить, извините, не смог понять то, что вы пытаетесь предложить. - person Shax; 03.10.2017
comment
Да, мне нужно будет установить Outlook. Это установит систему MAPI. - person Dmitry Streblechenko; 03.10.2017
comment
@Maderas - да. Также ссылка на старую версию MAPI. Последний - от 2014 года: microsoft.com/en-us /download/details.aspx?id=42040 - person Dmitry Streblechenko; 03.10.2017