# Mailing Non-interactively: mhmail

The Section Send Non-MIME Files: mhmail had an introduction to mhmail. This section shows some examples of its uses in programming.

For instance, to mail a temporary file named `$temp` to the user who is running your Bourne shell script (`$USER`), your script could execute:

        mhmail $USER -subject "XXX XXX" < $temp

Be sure to use a left angle bracket (`<`), not a right angle bracket (`>`). If the standard input (here, the file `$temp`) is empty, mhmail won't send a message. The workaround is to test the file size before running mhmail. If the file is empty, the echo command outputs a newline -- which is enough to make mhmail happy:

        if test -s "$temp"
        then mhmail $USER -subject "XXX XXX" < $temp
        else echo | mhmail $USER -subject "XXX XXX"
        fi

One more "gotcha": without command-line arguments, mhmail runs inc. mhmail was designed to be similar to the standard UNIX mail command. (With no addresses, mail gets your new mail.)