2

I tried to send the 'String' content in email using EWS Java API:

<root>
 <tag1>text1</tag1>
 <tag2>text2</tag2>
</root>

The code I used is:

String msg = content given above;
ExchangeService service = new ExchangeService();
ExchangeCredentials credentials = new WebCredentials(user, password);
service.setCredentials(credentials);
try {
    service.setUrl(new java.net.URI(exchangeURL));
    service.setTraceEnabled(true);
    EmailMessage message = new EmailMessage(service);
    message.setSubject(mail_sub);
    message.setFrom(fromaddress);
    message.setBody(new MessageBody(msg));
    message.getToRecipients().add("emailaddress");             
    message.send();
}

But I get the email content as:

text 1 text 2

How do I solve this? I am using Exchange 2010 and EWS Java API 1.2.

JasonMArcher
  • 14,195
  • 22
  • 56
  • 52
user1551550
  • 97
  • 1
  • 11
  • `messsage.setBody(MessageBody.getMessageBodyFromText(msg));` is how I saw it. Not much difference though. – Joop Eggen May 14 '13 at 10:00
  • http://stackoverflow.com/questions/13439926/message-body-changes-after-updating-emailmessage uses `GeneralUtils.replaceSpecialChars` – Joop Eggen May 14 '13 at 10:02
  • Hi, I tried getMessageBodyFromText(msg) also. But still get the same output...:(:( – user1551550 May 14 '13 at 10:07
  • GeneralUtils.replaceSpecialChars is a custom method....i tried replacing "<" with "<" before posting into setBody. But still get the same output... – user1551550 May 14 '13 at 10:18
  • I generated an XML and parsed it as string. But i want all the tags to be sent as such. How do i get this... – user1551550 May 14 '13 at 11:12

1 Answers1

2

I used

message.setBody(MessageBody.getMessageBodyFromText(msg));
BodyType type = BodyType.Text;
message.getBody().setBodyType(type);

and that solved the problem...:):):)

Thanks.

user1551550
  • 97
  • 1
  • 11