2012-11-05 64 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,如果您不調用Load(按答案),則內部電子郵件的發件人和發件人是交換地址(RoutingType =「EX」)。但是,如果你打電話給負載,那麼他們是SMTP地址 - 耶。 –

回答

13

找到解決方案,我必須在獲取發件人電子郵件地址之前使用item.load();

相關問題