【问题标题】:how to get email body in text from exchange server using EWS in java?java - 如何使用Java中的EWS从交换服务器获取文本中的电子邮件正文?
【发布时间】:2016-06-26 14:05:19
【问题描述】:

我有一个应用程序使用 EWS 从交换中读取电子邮件。我的问题是要获取电子邮件的 TEXT 版本,而不是 HTML 版本。 我尝试在下面使用此代码。我从 Exchange Server 获得的“emailBody”不是文本版本。我只想获取文本,而不是 html 标签。 所以请推荐任何方法来隐藏它。

    public Map readEmailItem(ItemId itemId){
       Map messageData = new HashMap();
       try{
       Item itm = Item.bind(service, itemId, pertySet.FirstClassProperties);
       EmailMessage emailMessage = EmailMessage.bind(service, itm.getId());
       messageData.put("emailItemId", emailMessage.getId().toString());
       messageData.put("subject", emailMessage.getSubject().toString());
       messageData.put("fromAddress",
                         emailMessage.getFrom().getAddress().toString());
       messageData.put("senderName",
                         emailMessage.getSender().getName().toString());
       Date dateTimeCreated = emailMessage.getDateTimeCreated();
       messageData.put("SendDate",dateTimeCreated.toString());
       Date dateTimeRecieved = emailMessage.getDateTimeReceived();
       messageData.put("RecievedDate",dateTimeRecieved.toString());
       messageData.put("Size",emailMessage.getSize()+"");
       messageData.put("emailBody",emailMessage.getBody().toString());
       }catch (Exception e) {
       e.printStackTrace();
       }
      return messageData;
    }

【问题讨论】:

  • 到目前为止,您是否尝试过任何编码?请参阅常见问题解答如何提问:stackoverflow.com/help/how-to-ask
  • 这是我第一次问。我改变了我的问题。谢谢

标签: java text exchange-server email-attachments


【解决方案1】:

当您绑定到项目时,您需要使用属性集类指定您想要的文本主体,例如修改您的代码

PropertySet BindPropSet = new PropertySet(BasePropertySet.FirstClassProperties);
BindPropSet.RequestedBodyType = BodyType.Text;
Item itm = Item.bind(service, itemId, BindPropSet);

【讨论】:

    猜你喜欢
    • 2020-07-04
    • 2019-09-13
    • 1970-01-01
    • 2013-09-25
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    相关资源
    最近更新 更多