2012-11-05 25 views
11

Używam EWS Java API 1.1.5. Próbuję dostać się z nadawcą e-mail w następujący sposób:Nie mogę uzyskać adresu e-mail nadawcy za pomocą EWS Java API

ItemView view = new ItemView(10); 
FindItemsResults<Item> findResults = service.findItems(
    WellKnownFolderName.Inbox, view); 
    for (Item item : findResults.getItems()) { 
     if (item instanceof EmailMessage) { 
      String senderEmail = ((EmailMessage) item).getSender().getAddress(); 
      System.out.println("Sender Email: " + senderEmail); 
     } 
    } 
); 

Ale zawsze zwraca null. Próbowałem również następujące:

String senderEmail = ((EmailMessage) item).getFrom().getAddress(); 

Ale także zwraca null. Widzę, że wiadomość e-mail zawiera nadawcę takiego jak:

Test User <[email protected]> 

Pojawia się w wiadomości, a także w odpowiedzi na wiadomość e-mail.

Proszę doradzić, jak rozwiązać ten problem.

+0

Korzystanie z .NET API, jeśli nie wywołasz Load (jak na Odpowiedź), From i Sender dla wewnętrznej wiadomości e-mail są adresami wymiany (RoutingType = "EX"). Ale jeśli wywołasz Load, to są to adresy SMTP - yay. –

Odpowiedz

13

znalazłem rozwiązanie, muszę użyć item.load(); przed uzyskaniem adresu e-mail nadawcy.