あなたは本当にこれを行うことはできません。Muttは、プログラムでメッセージを送信するためのものではなく、インタラクティブなメールクライアントを目的としています。メッセージを送信するためのコマンドラインフラグは、マイナーなアドオンとしてのみ存在し、その方法では不可能なことがたくさんあります。
このmy_hdrコマンドは、のようなMIMEヘッダーを設定するために使用されることは想定されていませんContent-Type。添付ファイルを含めなくても、実際には機能しません。2番目のコマンドからのメッセージには2つのContent-Typeヘッダーがあります。muttが生成する最初のメッセージはメッセージであることを示しtext/plain、2番目のメッセージは指定したものです。メッセージのチェックに使用しているクライアントがヘッダーを見ているだけです。私の場合、muttはそのメッセージをHTMLとして表示しますが、thunderbirdはレンダリングされていないドキュメントを表示します。
HTMLの送信と添付ファイルを組み合わせようとすると、同じことが起こります。複数のContent-Typeヘッダーがあります。1つ目は、メッセージがであると言っているmuttからのものmultipart/mixedで、2つ目は、であると言っているものtext/htmlです。私のテストでは、muttは再び2番目のヘッダーを尊重するため、添付ファイルを含むメッセージ全体をHTMLとしてレンダリングしようとします。Thunderbirdは再び最初のContent-Typeヘッダーを尊重し、HTMLと添付ファイルの2つの部分を検出しますが、HTML部分には、HTMLContent-Typeであることを指定する独自のヘッダーがないため、そのようにレンダリングされず、代わりに生のソースが示されています。
HTMLとPDFの両方を添付ファイルとして、本文を空にして送信することで、ある程度近づけることができます。
mutt -s "Subject" -a mybody.html -a file.pdf -- user@example.com < /dev/null
ただし、より複雑なメッセージをプログラムで送信するように実際に設計されたツールを使用する方がよいでしょう。