I've had the same problem with Postmark for some emails in a specific from/to pair. Using a postfix mail server, I used the disclaimer function in altermime to copy the subject line into the body, and applied some "if" logic so that altermime only ran when the email was from/to the specified addresses.
There's plenty of articles around of how to setup altermime, here's one of them:
https://www.howtoforge.com/how-to-automatically-add-a-disclaimer-to-outgoing-emails-with-altermime-postfix-on-debian-squeeze
The article above is for Debian, but also largely works on RedHat derivatives. You'll need to install the program itself using dnf (or yum) and using the EPEL repository.
If you just want a static body (like you'd have with a disclaimer) then there's nothing else to do other than maybe apply some if logic if you don't want the text applied to every email.
If you want to add the subject line into the body, then the trick here is to output the subject line to a temporary file and then use that file as the disclaimer file in the script.
Like this:
Grab the subject line, and output it to a temporary file:
subject=`grep -m 1 "Subject:" in.$$ | cut -d "<" -f 2 | cut -d ">" -f 1 | cut -d " " -f 2-`
echo -e "\r\n$subject\r\n" >sub.$$
Then where the script needs a filename, just use sub.$$, e.g.
/usr/bin/altermime --input=in.$$ \
--disclaimer=sub.$$ \
--disclaimer-html=sub.$$ \
--xheader="X-SpecialContent-Header: TextAdded" || \
{ echo Message content rejected; exit $EX_UNAVAILABLE; }
Finallly, don't forget to remove the temporary file - there's a line at the top of the script that removes the input file, just expand that line to remove the sub.$$ file:
trap "rm -f in.$$ sub.$$" 0 1 2 3 15