如何在Java中使用ews从电子邮件中获取“收件人”信息

时间:2018-09-06 07:15:11

标签: java exchangewebservices ewsjavaapi

在使用Java从邮件中获取TO信息时,我需要您的帮助。

我有C#代码,但不知道如何编写Java。 作为参考,我将C#代码放在下面。

Recipients = ((Microsoft.Exchange.WebServices.Data.EmailAddressCollection)item.Item[EmailMessageSchema.ToRecipients]).Select(recipient => recipient.Address).ToArray().

如果我能在Java中看到此代码,那将是很棒的。

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您要读取的唯一属性是 ToRecipients (精确地为EmailMessageSchema.ToRecipients),则可以这样操作:

    PropertySet propertySet = new PropertySet(EmailMessageSchema.ToRecipients);
    EmailMessage email = EmailMessage.bind(service, new ItemId(emailId), propertySet);
    EmailAddressCollection toRecipients = email.getToRecipients();
    for (EmailAddress toRecipient : toRecipients) {
        String address = toRecipient.getAddress();
        // go on
    }

提供如上所述的propertySet将使属性 ToRecipients 成为返回的EmailMessage上的唯一集合。因此,通话费用并不昂贵,例如:

EmailMessage email = EmailMessage.bind(service, new ItemId(emailId));

这将返回一个设置了所有 first class properties EmailMessage ToRecipients 是其中的成员。

编辑
警告:还有属性ItemSchema.DisplayTo。因此,在问题标题中询问“ To”是不明确的。