2012-11-05 4 views
11

EWS Java API 1.1.5를 사용하고 있습니다. 나는 다음과 같이 전자 메일 보낸 사람을 얻기 위해 노력하고 있어요 :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); 
     } 
    } 
); 

를하지만 항상 null를 반환합니다. 또한 다음과 같은 시도 :

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

을 그러나 그것은 또한 null를 반환합니다. 이메일에 다음과 같은 발신자가 포함되어 있음을 알 수 있습니다.

Test User <[email protected]> 

메시지에 표시되며 이메일에 회신 할 때도 나타납니다.

이 문제를 해결하는 방법을 알려주십시오.

+0

.NET API를 사용하여 응답을로드하지 않으면 내부 전자 메일의 보낸 사람과 보낸 사람이 Exchange 주소 (RoutingType = "EX")입니다. 하지만 Load를 호출하면 SMTP 주소가됩니다. 예. –

답변

13

해결책을 찾았다면 발신자 이메일 주소를 받기 전에 item.load();을 사용해야합니다.