java - 使用 microsoft EWS java api 阅读带有乱码的电子邮件失败
问题描述
我们正在使用
'com.microsoft.ews-java-api', name: 'ews-java-api', version: '2.0')
从交易所获取电子邮件。该函数正在获取所有电子邮件,然后我们将其放入队列并进行处理。一些电子邮件里面有乱码,因为对所有电子邮件都进行了一次提取,即使一封电子邮件里面的值无效,我们也会收到整个提取的错误。知道如何处理吗?
这是我们正在使用的代码
ExchangeService exchangeService = exchangeLoginServiceImpl.login(emailAccountConfDt);
if (exchangeService != null) {
ItemView view = new ItemView(emailAccountConfDt.getMailsPerRead());
view.getOrderBy().add(ItemSchema.DateTimeSent, SortDirection.Ascending);
ArrayList<Item> items = exchangeService.findItems(WellKnownFolderName.Inbox, view).getItems();
int size = items.size();
LOG.info("Found [" + size + "] items in account [" + accountName + "]");
for (int i = 0; i < size; i++) {
Item item = items.get(i);
ItemId itemId = item.getId();
String uniqueId = itemId.getUniqueId();
try{
PropertySet ps = new PropertySet();
ps.setRequestedBodyType(BodyType.HTML);
ps.setBasePropertySet(BasePropertySet.FirstClassProperties);
EmailMessage emailMessage = EmailMessage.bind(exchangeService, itemId, ps);
这就是错误
Failed to read email message, email item uniqueId [AAMkADRjMzQ3MmI3LTA0N2EtNDg2MS1iMjU1LWQ5NWI4MmVhNzE2YQBGAAAAAADGYjhcu3c7QqV6OMBExQ46BwAXK7DYUuoGRYgsIfGMRJCTAAAAkw/iAAAXK7DYUuoGRYgsIfGMRJCTAAEROP9bAAA=] in account [XXXXXX]
microsoft.exchange.webservices.data.core.exception.service.remote.ServiceRequestException: The request failed. Illegal character entity: expansion character (code 0xc
at [row,col {unknown-source}]: [108,16]
at microsoft.exchange.webservices.data.core.request.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:74)
at microsoft.exchange.webservices.data.core.request.MultiResponseServiceRequest.execute(MultiResponseServiceRequest.java:158)
at microsoft.exchange.webservices.data.core.ExchangeService.internalBindToItems(ExchangeService.java:1343)
at microsoft.exchange.webservices.data.core.ExchangeService.bindToItem(ExchangeService.java:1378)
at microsoft.exchange.webservices.data.core.ExchangeService.bindToItem(ExchangeService.java:1395)
at microsoft.exchange.webservices.data.core.service.item.EmailMessage.bind(EmailMessage.java:94)
交换版本是
ExchangeVersion.Exchange2010_SP2
解决方案
推荐阅读
- html - 带有可点击标签的 Html.CheckboxFor 不起作用
- aem - targetparsys 中的 Parsys (targetparsys)
- php - 尽管给定了 URL 参数,但 $_REQUEST 为空
- javascript - 动态添加输入字段 Jquery
- debugging - 是否可以在即时窗口中执行汇编语言指令
- r - 是否有基于用户提供的向量来分割数据的 R 函数?
- scipy - 在 IronPython 上升级 Scipy
- javascript - 如何在浏览器地址栏中的地址之前插入附加标题?
- postgresql - 如何连接到 GitHub Action 的作业服务?
- ios - 带有-webkit-overflow-scrolling的可滚动Div:iFrame内的触摸在iOS 10移动Safari中不起作用