I may be wrong, but I don't think you can use rewrite rules (or a special channel) to take care of that, because you need to identify different MimeTypes. But if you are talking about a plain text e-mail, then it shouldn't be hard to implement.
The workaround is to develop a plugin for the MTA. The plugin, can take care of parsing all the message, identify what type it is, and put the 'disclaimer' in the apropriate place. I'm starting to do something like that for a client.
This could be done using a conversion channel.
Add to the mappings file:
Conversions
IN-CHAN=*; OUT-CHAN=tcp_local; CONVERT Yes
Then to the conversions file (for location see imta_tailor)
IN-CHAN=*; OUT-CHAN=tcp_local; IN-TYPE=text; IN-SUBTYPE=plain; COMMAND="/path/to/your/script"
In the script do something like:
copy $INPUT_FILE $OUTPUT_FILE
echo "Disclaimer text" >> $OUTPUT_FILE
This should do the trick.
There is no "plug-in" concept in this MTA.
To do what is being asked for requires a custom built channel. This custom channel would be an internal channel similar to say reprocess or conversion channel.
The main difference between this new custom channel and the conversion channel is that the conversion channel operates on a MIME part-by-part basis, while if one intends to add a text/plain part to every message then one needs to have the entire MIME structure present to do so and this can not be accomplished using the conversion channel.
While writing a custom channel is not rocket science it is not trivial either. Guess this is something I should look at doing in my spare time, if for nothing else than saying "I've done it".