1

在 EWS 中,EmailMessage有一个发件人 ( emailMessage.getSender()) 并且可能有附件 ( emailMessage.getAttachments())。

这些附件可以是FileAttachment(用于文件)或ItemAttachment(用于附加电子邮件)。

这个项目附件有很多信息,例如:

但是如何找到这封附加电子邮件的发件人?

编辑: 使用 EWS Java API 1.1.5 http://archive.msdn.microsoft.com/ewsjavaapi/Release/ProjectReleases.aspx?ReleaseId=5754

4

2 回答 2

1

在 c# - 你可以访问ItemAttachment.Message然后Message.Sender. 获得发件人后,您可以检索Sender.Mailbox以访问Mailbox.EmailAddress. 也许您可以将其转换为类似的 java 。

ItemAttachment itemAttachment = attachment as ItemAttachment;
itemAttachment.Load();
Sender sender = itemAttachment.Message.Sender;
Mailbox mailbox = sender.Mailbox;
string email = mailbox.EmailAddress;
于 2012-09-25T15:23:15.213 回答
1

在 SliverNinja 响应之后,我尝试将该项目作为电子邮件检索。将 EWS 与 Java 一起使用,您必须ItemAttachmentEmailMessage这样转换项目:

Item item = ((ItemAttachment) attachment).getItem();
if (item instanceof EmailMessage) {
    String sender = ((EmailMessage)item).getSender().getAddress();
}

该项目也可以转换为约会或联系人或任务或联系人组。

编辑: 获取发件人的另一种方法是

((EmailMessage) item).getFrom().getAddress();

这看起来像做同样的事情

于 2012-09-26T08:00:32.140 回答