如何使用ews查找附加电子邮件的发件人

时间:2012-09-25 15:12:31

标签: java exchangewebservices ewsjavaapi mail-sender

在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

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:1)

在SliverNinja回复后,我尝试将该项目检索为电子邮件。 将EWS与Java一起使用时,您必须将项ItemAttachment强制转换为EmailMessage,如下所示:

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

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

修改: 获取发件人的另一种方法是

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

这看起来像是做同样的