Simple solution :- If you don't want the same payload in the mail body simply put <set-payload value="Hi this is the mail content " doc:name="Output Config"/>
just after <set-attachment >
tag with the content you like to have as mail body eg :-
<set-attachment attachmentName="${FILE_NAME}-#[server.dateTime.format('${DATETIME_FORMAT}')]${FILE_TYPE}" value="#[payload]" contentType="text/plain" doc:name="ABC_XYZK Report"/>
<set-payload value="Hi this is the mail content " doc:name="Output Config"/>
<smtp:outbound-endpoint host="mailrelay.ad.corp.local" responseTimeout="10000" doc:name="SMTP" connector-ref="ABCSMTP" mimeType="text/plain" from="mymailid@mycompany.com" subject="ABC_XYZK" to="mymailid@mycompany.com">
<!-- <email:email-to-string-transformer/> -->
</smtp:outbound-endpoint>
The payload you set after attachment will be in your mail body