Você precisa torná-lo uma mensagem multiparte / mista, limites e tudo mais.
( cat <<EOCAT
MIME-Version: 1.0
From: $from
To: $to
Cc: $cc
Subject: TEST email w/ HTML
Content-Type: multipart/mixed; boundary=NextPart_0123456789
Content-Transfer-Encoding: 7bit
--NextPart_0123456789
Content-Type: text/html
EOCAT
cat header.html
cat html_message_body.html
cat footer.html ) | mailx -r [email protected] [email protected]