EML ファイルのデコード
電子メール ファイルが電子メール クライアントによって適切に処理されず、.EML ファイルが添付されたメールが残ることがあります。このファイルは送信された電子メールの完全なテキストですが、添付ファイルがあった場合、これらはエンコードされ、ランダムなテキストとしてファイルに表示されます。
一部の電子メール クライアントでは、これらのファイルをインポートして自動的に処理し、メッセージを表示し、プログラムを使用して添付ファイルを処理できるようにします。ない場合もあります。それは、この FAQ が扱うものです。
これらのファイルを操作するには、次の 2 つのことを行う必要があります。
- EML ファイルを見つけやすい場所に保存し、ファイルに .TXT ファイル拡張子を付けて、テキスト エディターで開くようにします。テキスト エディターでファイルを開くことができる限り、ファイルの拡張子が 2 つ付いていても (例: filename.eml.txt)、問題ありません。
- base64 デコード プログラムを取得します。エンコードされたテキストをカット アンド ペーストしてブラウザのダイアログ ボックスに表示できる Web ベースのデコーダが多数あります。サイトからデコードされたバイナリ ファイルが返されます。便利で迅速ですが、これを行うと、変換を行うサイトがファイルのコピーを作成し、好きなように処理する可能性があることに注意してください.そのため、私はスタンドアロンのデコーダーを使用することを好みます。通常は b64dec を使用します。ダウンロードは、保存先の任意のフォルダーから実行できるスタンドアロンの EXE ファイルに解凍される ZIP ファイルです。インストール不要。
テキスト エディタで EML ファイルを開きます。ファイルの最初の部分はメール ヘッダーで、その後に電子メール本文のテキスト バージョンが続きます。次に、おそらく、同じ電子メール メッセージを表示する 2 番目のセクションで、リッチ テキスト表示用の HTML タグを使用します。メッセージのテキストは、テキスト エディターで簡単に読める必要があります。表示するためにデコードする必要があるのは添付ファイルです。
EML ファイルを下にスクロールすると、いくつかの境界マーカーが表示されます。彼らはこのように見えるでしょう...
------=_Part_1269_26205643.1212678362048
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
...電子メールの ASCII テキスト バージョンと HTML バージョンの間の境界。添付ファイルが画像の場合、境界は次のようになります...
------=_Part_1268_32139554.1212678362047
Content-Type: image/jpeg; name=080605ML1.jpg
Content-Transfer-Encoding: base64
X-Attachment-Id: f_fh3fqzsq0
Content-Disposition: attachment; filename=080605ML1.jpg
この境界ヘッダーは、次の素材が 080605ML1.jpg という名前の JPEG 画像であり、素材が base64 でエンコードされていることを示していることに注意してください。電子メールの添付ファイルに使用される標準のエンコーディング。
やりたいことは、b64dec プログラムを起動したときに表示されるダイアログ ボックスに、境界に続く次の境界までのすべてのランダムに見えるテキストをコピーすることです。それを行って復元されたファイルに名前を付けたら、[デコード] ボタンをクリックするだけで、指定した名前のファイルがプログラム フォルダー (またはファイルに名前を付けたときに指定した他のフォルダー) に表示されます。
それが完了したら、戻って元の EML ファイルから残りの添付ファイルを抽出します。一度に 1 つの添付ファイル。