首页 > 解决方案 > 如何在 java 中使用 ews 从电子邮件中获取“收件人”信息

问题描述

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

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

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

如果我能在 java 中看到这段代码,那就太好了。

提前致谢。

标签: javaexchangewebservicesewsjavaapi

解决方案


如果您要读取的唯一属性是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));

这将返回一个EmailMessage所有第一类属性集。ToRecipients是其中的一员。

编辑
警告:还有财产ItemSchema.DisplayTo。因此,在问题的标题中询问“To”是模棱两可的。


推荐阅读