I'm having a similar issue.
I'm generating a string variable (using 
 to add line breaks) that im including in a html message i'm parsing. The issue is that when I receive the email, the entire data in the string is appearing in one line. What other method could I use to apply these breaks?
<!-- Build Variable List -->
<core:if test="${resourceList == null}">
<core:set value="${resourceLastName}" var="resourceList"/>
</core:if>
<core:if test="${resourceList != null}">
<core:set escapeText="false" value="${resourceList}
${resourceLastName}" var="resourceList"/>
</core:if>
<!-- Generate Email Message -->
<gel:parse var="htmlMessage">
<message>
<![CDATA[
<html>
<font face="calibri">
<div style="font-size: 12pt;">
<p><b>Resource List:</b><br>
${resourceList}</p>
</div>
</font>
</html>
]]>
</message>
</gel:parse>
<gel:forEach select="$htmlMessage/message/node()" var="thisMessageNode">
<gel:set asString="true" select="$thisMessageNode" var="thisMessageNodeText" />
<core:set value="${thisMessageNodeText}" var="thisMessageText" />
</gel:forEach>
<!-- Add email body text and format -->
<core:new className="javax.mail.internet.MimeMultipart" var="multiPart" />
<core:new className="javax.mail.internet.MimeBodyPart" var="bodyPart" />
<core:set value="${bodyPart.setContent(thisMessageText, 'text/html')}" var="void" />
<core:set value="${multiPart.addBodyPart(bodyPart)}" var="void" />