问题 无法使用EWS Java API获取发件人电子邮件地址


我正在使用EWS Java API 1.1.5。我试图让电子邮件发件人如下:

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 <testuser@testdomain.com> 

它出现在消息中以及回复电子邮件时。

请告知如何解决此问题。


4771
2017-11-05 11:49


起源

使用.NET API,如果不调用Load(根据答案),内部电子邮件的From和Sender是交换地址(RoutingType =“EX”)。但是,如果你调用Load,那么它们就是SMTP地址 - yay。 - user2000095-tim


答案:


找到解决方案,我必须使用 item.load(); 在获取发件人电子邮件地址之前


13
2017-11-11 10:18