java - 如何在 java 中使用 ews 从电子邮件中获取“收件人”信息
问题描述
在使用 Java 从邮件中获取 TO 信息方面,我需要您的帮助。
我有 C# 代码,但不知道如何写入 Java。作为参考,我将 C# 代码放在下面。
Recipients = ((Microsoft.Exchange.WebServices.Data.EmailAddressCollection)item.Item[EmailMessageSchema.ToRecipients]).Select(recipient => recipient.Address).ToArray().
如果我能在 java 中看到这段代码,那就太好了。
提前致谢。
解决方案
如果您要读取的唯一属性是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”是模棱两可的。
推荐阅读
- vscode-extensions - 如何删除vscode片段中的行内容
- php - PHP输入问题
- node.js - 使用 mongoose 将图像或背景图像列表保存在 momgodb 中并检索作为图像输入的选择,以附加在用户帖子上
- php - 级联用户删除 laravel
- android - 如何在 Fragment 中显示 onViewCreated 的进度条?
- node.js - Gitlab Shell Executor Runner nodejs-找不到命令
- pandas - 如何让 matplot 以不同颜色打印所有异常值,而不仅仅是一种颜色
- excel - 具有多个条件的 AVERAGEIF
- c# - api通信之间的小数问题
- ios - 在 iOS 13.1 上请求不同大小的 San Francisco 字体会返回 Times New Roman 变体