2016-06-27 1 views
0

После того, как мы перенесли все на office365, мое приложение, которое считывает письма, отправленные в определенный общий почтовый ящик, не удалось.Подключение к почтовому отделению Exchange 365, общий почтовый ящик

Я не уверен, как это исправить. Он работал отлично до миграции.

В то время мои полномочия были:

exchangeService.Credentials = Новые WebCredentials ("Пользователь", "PW", "windowsdomain") exchangeService.AutodiscoverUrl ("[email protected]")

и я использовал URI: '

exchangeService.Url = exchangeService.Url = Новый U ri ("https://owa.DOMAIN.com/ews/exchange.asmx")

и exchangeservice Exchange2010_SP2.

Однако после миграции он не сработал, хотя я думаю, что правильно обновил код (видимо, я этого не сделал).

Код я пытался это: (Это не работает)

Sub GetEmails() 

    Dim exchangeService As New ExchangeService(ExchangeVersion.Exchange2013) 
    'WebService Uri 
    'Try 
    exchangeService.Url = New Uri("https://outlook.office365.com/ews/exchange.asmx") 



    exchangeService.Credentials = New WebCredentials("[email protected]", "PW") 
    exchangeService.AutodiscoverUrl("[email protected]") 


    Dim findResults As FindItemsResults(Of Item) = exchangeService.FindItems(WellKnownFolderName.Inbox, New ItemView(10)) 
    For Each item As Item In findResults.Items 
     Dim strID As String 
     'Get mail ID 
     strID = item.Id.ToString 
     'Get Lid from mail subject 
     strLid2 = item.Subject.ToString 
     strLid2 = UCase(strLid2.Substring(strLid2.Length - 8)) 
     'Get attachements 
     Call GetAttachmentsFromEmail(exchangeService, strID) 
     'Move email 
     Call MoveEmail(exchangeService, strID) 
     'Upload files to case 
     Call GetFiles() 

    Next 

End Sub 

Я надеюсь, что кто-то может помочь мне, или мне точку в правильном направлении, так что я могу решить эту проблему.

Br В.Г.

ответ

0

Вы должны использовать класс FolderId, чтобы указать почтовый ящик, который вы хотите получить доступ, если его общий почтовый ящик Е.Г.

FolderId MailboxToAccess = new FolderId(WellKnownFolderName.Inbox, "[email protected]"); 
exchangeService.FindItems(MailboxToAccess, New ItemView(10)) 

избавиться от линии автообнаружения он не делает ничего для вас поскольку все, что он будет делать, это найти URL-адрес сервера CAS (который является единственной конечной точкой в ​​Office365, которую вы уже указали статически). У него нет доступа к тому, с каким почтовым ящиком вы подключаетесь.

+0

Он по-прежнему не похоже на работу, я изменил его к этому: Dim findResults Как FindItemsResults (ст) = exchangeService.FindItems (WellKnownFolderName.Inbox, "[email protected]", New ItemView (10)) Для каждого элемента Как элемент В findResults.Items Dim strID As String – Vildgut

+0

Но вы не использовали класс FolderId, что ваше использование всегда будет подключаться к почтовому ящику учетных данных безопасности –

+0

. Спасибо, Глен, теперь он работает как очарование. Мне пришлось использовать класс folderId так же, как вы сказали. – Vildgut

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

  • Нет связанных вопросов^_^