Важно: это для личного адреса электронной почты, например [email protected]< /p>
Это не корпоративный или рабочий аккаунт.
Он использует базовую аутентификацию со следующим кодом:
Код: Выделить всё
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
service.Credentials = new WebCredentials(account, main_password);
Похоже, что аутентификация проходит нормально, но затем, когда вы пытаетесь сделать что-нибудь с почтовым ящиком (например, получить доступ к определенным папкам), я получаю:
Код: Выделить всё
Microsoft.Exchange.WebServices.Data.ServiceRequestException: The request failed. The remote server returned an error: (401) Unauthorized. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.
at System.Net.HttpWebRequest.GetResponse()
at Microsoft.Exchange.WebServices.Data.EwsHttpWebRequest.Microsoft.Exchange.WebServices.Data.IEwsHttpWebRequest.GetResponse()
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request)
--- End of inner exception stack trace ---
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.GetEwsHttpWebResponse(IEwsHttpWebRequest request)
at Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ValidateAndEmitRequest(IEwsHttpWebRequest& request)
at Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.Execute()
at Microsoft.Exchange.WebServices.Data.ExchangeService.FindFolders(FolderId parentFolderId, SearchFilter searchFilter, FolderView view)
Как уже упоминалось, в течение многих лет он работал нормально, но в последние пару лет недели внезапно начал выдавать это исключение.
Я читал, что Microsoft постепенно отключает базовую аутентификацию, поэтому мне интересно, дошло ли до меня это наконец?Однако все примеры, которые я могу найти по переходу на OAuth2, основаны на корпоративных учетных записях Office365, поэтому требуется регистрация приложения с конкретным используемым арендатором, а затем мне нужны clientId и tenantID для получить токен (см., например, Использование Oauth2 для отправки электронной почты через Office365 C#)
Кто-нибудь может указать мне пример кода C#.NET для использования EWS с личным электронным адресом Outlook.com адрес, пожалуйста?
Или, если есть какие-либо предложения относительно того, почему мой код внезапно перестал работать, они тоже приветствуются.
Подробнее здесь: https://stackoverflow.com/questions/781 ... -oauth2-re