2016-04-26 2 views
0

Я пытаюсь использовать EWS для доступа к почтовому ящику процесса. Для некоторых автоматизированных запросов мы создали почтовый ящик genric process. Я хочу анализировать электронные письма, просматривая входящие сообщения процесса.Доступ к почтовому ящику общих процессов с использованием EWS

Мой код работал раньше со старым сервером обмена. Но после перехода в офис 365 он терпит неудачу.

Я могу получить доступ к своему почтовому ящику и разобрать в офисе 365, используя мои учетные данные.

Как получить доступ к этому почтовому ящику процесса? Ранее я создаю ExchangeService и подключаюсь к почтовому адресу процесса с помощью UseDefaultCredentials = true.

Я установил AutoDiscoverURl и использовал DefaultCredentials. Но когда я пытался читать электронные письма, я получаю: «У SMTP-адреса нет почтового ящика, связанного с ним».

EDIT: Я попытался использовать свои собственные учетные данные вместо учетных данных по умолчанию.

string smtpaddress = "[email protected]"; 
es.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx"); 
es.Credentials = new WebCredentials("myemail", "mypassword"); 
es.AutodiscoverUrl(smtpaddress, RedirectionCallback); 
FolderId SharedMailbox = new FolderId(WellKnownFolderName.Inbox, "[email protected]"); 
Folder sharedInbox = Folder.Bind(es, SharedMailbox); 

В этот момент я могу проверить sharedInbox, содержащий детали папки «Входящие». Я могу видеть непрочитанное количество писем и другие.

Но когда я достигаю

ItemView itemView = new ItemView(100); 
FindItemsResults<Item> findResults1 = es.FindItems(pqInbox.Id, itemView); 

я получаю исключение «SMTP-адрес не имеет почтового ящика, связанного с ним»

ответ

0

оговорке: Я не работал с EWS в то время.

Вы не можете использовать учетные данные по умолчанию для Office 365. Вам необходимо указать либо основные учетные данные, либо использовать токен OAuth.

Вы должны подтвердить, что учетная запись была перенесена в Office 365. Войдите в OWA и посмотрите URL-адрес, чтобы убедиться, что используете Office 365, а не на локальном сервере.

Это уже ответили Exchange Web Services: UseDefaultCredentials property

+0

Это решало первую часть доступа к почтовому ящику. Я могу получить доступ, но не могу перечислить почтовые отправления. –

+0

Можете ли вы войти в OWA с помощью [email protected]? Можете ли вы включить трассировку и показать результаты вызова ExchangeService.AutodiscoverUrl? Вам не нужно использовать Autodiscover с Office 365, но он может дать некоторое представление о том, что происходит здесь. –

+0

Если я использую свои учетные данные, я могу видеть папку «Входящие» процесса вместе с моей собственной в браузере. Почему сбой FIndItems - это то, что я не могу понять. –

Смежные вопросы