2012-11-05 29 views
11

Tôi đang sử dụng API Java EWS 1.1.5. Tôi đang cố gắng để có được người gửi email như sau:Không thể nhận địa chỉ email người gửi với API Java EWS

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); 
     } 
    } 
); 

Nhưng nó luôn trả về null. Tôi cũng đã thử các cách sau:

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

Nhưng cũng trả về null. Tôi có thể thấy rằng email chứa người gửi như:

Test User <[email protected]> 

Nó xuất hiện trong tin nhắn và cũng như khi trả lời email.

Vui lòng thông báo cách khắc phục sự cố này.

+0

Sử dụng .NET API, nếu bạn không gọi Load (theo câu trả lời), From và Sender cho một e-mail nội bộ là địa chỉ trao đổi (RoutingType = "EX"). Nhưng nếu bạn gọi Load thì chúng là các địa chỉ SMTP - yay. –

Trả lời

13

tìm thấy giải pháp, tôi phải sử dụng item.load(); trước khi nhận địa chỉ email của người gửi.

Các vấn đề liên quan