Are you still having problems with this issue? I would be interested in trying to assist.
I think you could prepare a named variable of type String with precision, for the message body--if you used Arrays, loop counters to load the data in reverse, and subtracted the number of columns, then write the characters backwards (left to right) so it appears formatted right to left. Just an idea that hit me from my COBOL programming days. Use Grid paper to precisely count out everything for your form. I don't think you can specify a fixed-length format for the message body in the recipient’s email client, but if they format to courier new, on the receiving side--it could work. I would be interest in seeing some sample source data with which to work this as a proof of concept...
Let me know if this idea seems feasible, or crazy.
-Sean