exchange-server - EWS 读取并返回带有附件的邮件
问题描述
Ews 我正在阅读邮件,我想退回邮件附件。我希望前端列出附件,并希望在单击时下载它们。那么我应该返回什么?
public List<MailResponseDto> readEmailItem(ItemId itemId) {
MailResponseDto messageData = new MailResponseDto();
List<String> downloadFileNames = new ArrayList<>();
List<MailResponseDto> mailResponseDtos = new ArrayList<>();
try {
Item itm = Item.bind(service, itemId, PropertySet.FirstClassProperties);
EmailMessage emailMessage = EmailMessage.bind(service, itm.getId());
messageData.setEmailItemId(emailMessage.getId().toString());
messageData.setSubject(emailMessage.getSubject());
messageData.setFromAddress(emailMessage.getFrom().getAddress());
messageData.setSenderName(emailMessage.getSender().getName().toString());
Date dateTimeCreated = emailMessage.getDateTimeCreated();
messageData.setSendDate(dateTimeCreated.toString());
Date dateTimeRecieved = emailMessage.getDateTimeReceived();
messageData.setRecievedDate(dateTimeRecieved.toString());
messageData.setSize(emailMessage.getSize());
messageData.setEmailBody(emailMessage.getBody().toString());
mailResponseDtos.add(messageData);
if (emailMessage.getHasAttachments()) {
AttachmentCollection attachmentsCol = itm.getAttachments();
for (int i = 0; i < attachmentsCol.getCount(); i++) {
FileAttachment attachment = (FileAttachment)
attachmentsCol.getPropertyAtIndex(i);
attachment.load(mailProperty.getSaveDirectory() + attachment.getName());
downloadFileNames.add(attachment.getName());
}
}
} catch (Exception e) {
e.printStackTrace();
}
return mailResponseDtos;
}
和 MailResponseDto;
MailResponseDto
public class MailResponseDto {
private String emailItemId;
private String subject;
private String fromAddress;
private String senderName;
private String sendDate;
private String recievedDate;
private int size;
private String emailBody;
private List<File> files;
}
解决方案
推荐阅读
- syntax - 悬空主题(或任何其他)变量不会失败
- reactjs - 将 Reactstrap 的 Input 值设置为空字符串
- node.js - Stripe webhook 错误:未找到与有效负载的预期签名匹配的签名
- python - 如何在python中更改字符串列表中的字符串
- google-play - 如何在 Apple App Store 和 Google Play Store 中设置相同的价格?
- html - 如何将图像网格放入引导卡
- javascript - 在 webpack 中更好的 TreeShaking 的正确方法是什么?
- ios - 如何从 JSON iOS swift 中解决字符周围的未终止字符串或字符周围的无效字符串?
- c# - 如何根据字符串值使用 UWP Frame.Navigate()
- c - 在一个套接字上接收来自多个组的多播流量时出现问题