2016-06-26 2 views
0

EWS를 사용하는 교환기에서 전자 메일을 읽는 응용 프로그램이 있습니다. 내 문제는 HTML 버전이 아닌 이메일의 TEXT 버전을 얻는 것입니다. 아래에서이 코드를 사용하려고했습니다. "emailBody"는 Exchange Server에서 Text 버전이 아닙니다. HTML 태그가 아닌 텍스트 만 가져오고 싶습니다. 비밀 방법을 권유하십시오.자바에서 EWS를 사용하는 Exchange 서버의 텍스트 본문을 가져 오는 방법은 무엇입니까?

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; 
    } 
+0

같은 코드를 수정하여 사용자가 텍스트 본문을 원하는 지정해야 할 항목에 바인딩? FAQ에서 질문하는 방법을 참조하십시오 : http://stackoverflow.com/help/how-to-ask –

+0

이것은 처음 물었습니다. 나는 내 질문을 바꿨다. 감사 –

답변

0

당신이 propertyset 클래스 예 :

지금까지 어떤 코드를 시도
PropertySet BindPropSet = new PropertySet(BasePropertySet.FirstClassProperties); 
BindPropSet.RequestedBodyType = BodyType.Text; 
Item itm = Item.bind(service, itemId, BindPropSet);