Исключение при управлении личной электронной почтой Outlook.com с помощью EWS (требуется переход на OAuth2?)C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Исключение при управлении личной электронной почтой Outlook.com с помощью EWS (требуется переход на OAuth2?)

Сообщение Anonymous »

У меня есть приложение, которое я использую для управления своей учетной записью электронной почты на Outlook.com и отправки электронной почты. Подробности о том, почему не важны, но он работает без проблем уже много лет.
Важно: это для личного адреса электронной почты, например [email protected]< /p>
Это не корпоративный или рабочий аккаунт.
Он использует базовую аутентификацию со следующим кодом:

Код: Выделить всё

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);

service.Credentials = new WebCredentials(account, main_password);
(учетная запись — это адрес электронной почты, а 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)
... например, при попытке получить FolderID.
Как уже упоминалось, в течение многих лет он работал нормально, но в последние пару лет недели внезапно начал выдавать это исключение.
Я читал, что Microsoft постепенно отключает базовую аутентификацию, поэтому мне интересно, дошло ли до меня это наконец?Однако все примеры, которые я могу найти по переходу на OAuth2, основаны на корпоративных учетных записях Office365, поэтому требуется регистрация приложения с конкретным используемым арендатором, а затем мне нужны clientId и tenantID для получить токен (см., например, Использование Oauth2 для отправки электронной почты через Office365 C#)
Кто-нибудь может указать мне пример кода C#.NET для использования EWS с личным электронным адресом Outlook.com адрес, пожалуйста?
Или, если есть какие-либо предложения относительно того, почему мой код внезапно перестал работать, они тоже приветствуются.

Подробнее здесь: https://stackoverflow.com/questions/781 ... -oauth2-re
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»