Question

I am using EWS Java API 1.1.5. I am trying to get the email sender as follows:

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

But it always returns null. I also tried the following:

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

But it also returns null. I can see that the email contains sender like:

Test User <testuser@testdomain.com> 

It appears in the message and also when replying to the email.

Please advise how to fix this issue.

Était-ce utile?

La solution

found the solution, i have to use item.load(); before getting the sender email address.

Autres conseils

While the above works perfectly, as an alternative, loading is not necessary if the search is done with the view of the properties, consider the code snippet

    ItemView view = new ItemView(100);
    view.getOrderBy().add(ItemSchema.DateTimeReceived, SortDirection.Descending);
    view.setPropertySet(new PropertySet(BasePropertySet.IdOnly, 
                                        ItemSchema.Subject,
                                        ItemSchema.DateTimeReceived, 
                                        EmailMessageSchema.From));
    
    SearchFilterCollection searchCollection=new SearchFilter.SearchFilterCollection();
    searchCollection.add(new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, !unreadEmailOnly));
    
    FindItemsResults<Item> result=exchangeService.findItems(WellKnownFolderName.Inbox, 
                                                            searchCollection, 
                                                            view);

Subsequently, EmailMessage.getFrom().getAddress() can be called.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top