in reply to formatting text with sendmail

The problem here I suspect isn't so much with Sendmail or your script, but with the mail client you are using to read the mail. A number of mail readers will attempt to render all email by default in a variable-width font, the result in this case is that the vertical alignment between each of the values is lost.

There are a couple of solutions here - The first is to format your email as a HTML document and send the appropriate Content-Type headers or to modify your mail client settings for the rendering of plain-text emails. With Microsoft Outlook and Outlook Express, the font settings for the rendering of HTML-based and plain-text email can be found in Options under the Mail Format tab. In this location there is a Fonts button which will open another window where the font type for rendering plain-text emails can be set to a fixed width font such as Courier-New - This should solve your issues with formatting of plain-text email within your mail client.