【问题标题】:How to find sender of an attached email with ews如何使用 ews 查找附加电子邮件的发件人
【发布时间】:2012-09-25 15:12:31
【问题描述】:

在 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

【问题讨论】:

    标签: java exchangewebservices ewsjavaapi mail-sender


    【解决方案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;
    

    【讨论】:

    • 谢谢,这正是我想要的,但不幸的是,ItemAttachment 上没有Message。
    【解决方案2】:

    在收到 SliverNinja 回复后,我尝试以电子邮件消息的形式检索该项目。 在 Java 中使用 EWS,您必须将项目 ItemAttachment 转换为 EmailMessage,如下所示:

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

    该项目也可以转换为 Appointment 或 Contact 或 Task 或 ContactGroup。

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

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

    这看起来是一样的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 2012-02-13
      • 1970-01-01
      • 2011-07-11
      相关资源
      最近更新 更多