画像、javascript、CSS などをすべて複数の「ファイル」として埋め込んだ単一の転送可能な HTML のようなファイルを作成しようとしている場合は、MHTMLを試すことができます。これにより、さまざまな MIME タイプのデータを単一のファイルに格納できます。
しばらく前から IE でサポートされていますが、経験上、ファイルを保存、表示、および使用するのはやや面倒です。ただし、プログラムで MHTML を生成することはそれほど悪くありません。.mht
基本的には、指定された形式でテキスト ファイルを作成し、 IE が認識する拡張子を付けるだけです。URL を使用して、さまざまなパーツを参照およびラベル付けできます (たとえば、HTML パーツに画像を含める場合)。バイナリ コンテンツは、base64 でエンコードされたテキストとして格納されます。
Microsoft には、画像が埋め込まれた電子メール メッセージを示す適切な例があります。
From: example1@example.com
To: example2@example.com
Subject: An example
Mime-Version: 1.0
Content-Base: http://server.example.com
Content-Type: Multipart/related; boundary="boundary-example-1";type=Text/HTML
--boundary-example-1
Content-Type: Text/HTML; charset=ISO-8859-1
Content-Transfer-Encoding: QUOTED-PRINTABLE
... text of the HTML document, which might contain a hyperlink
to the other body part, for example through a statement such as:
<IMG SRC="/images/image.gif" ALT="Image">
Example of a copyright sign encoded with Quoted-Printable: =A9
Example of a copyright sign mapped onto HTML markup: ¨
--boundary-example-1
Content-Location: /images/image.gif
Content-Type: IMAGE/GIF
Content-Transfer-Encoding: BASE64
AAAFFDDlhGAGgAPEAAP/////ZRaCgoAAAACH+PUNvcHlyaWdodCAoQykgMTk5
NSBJRVRGLiBVbmF1dGhvcml6ZWQgZHVwbGljYXRpb24gcHJvaGliaXRlZC4A
etc...
--boundary-example-1 —