Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

メールの添付ファイルを削除する

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2006/02/25
 
対象ソフトウェア
Outlook Express
ディスク領域の節約のために、メールの添付データ部分だけを削除しておきたいことがある。
Outlook Expressならば、メール・メッセージを取り出してメモ帳などで編集し、添付ファイル部分を削除してから書き戻せばよい。
書き戻すと、メッセージが重複するので、不要な方を削除する。
 
解説

 電子メールでは、テキストの文字だけでなく、文書ファイルや写真データを始め、さまざまなデータを添付して送信することができる。現在ではコンピュータの性能や、ネットワークの速度も高速になっているし、メール・サーバ側の制限もあまり厳しくないので、数Mbytesのファイルでも簡単に添付して送受信できる。

 メールにファイルを添付すると、エンコーディングの関係上(バイナリ・データはメールで送信できるようにテキスト化される)、実際のメールは約1.33倍のサイズになる(最も広く利用されているBase64エンコーディングの場合)。このようなメールを多数ディスクに保存しておくと、ディスク領域を圧迫するし、バックアップしなければならないサイズも増えてしまうので、可能ならば添付ファイルを削除したいところだ。特に、仕事上のドキュメントをメールの添付ファイルで回覧しながら編集・受け渡ししているようなケースでは、最終的なメールに添付されたものだけが重要であり、それ以前の作成途中のデータは不要な場合が多い。

 だが当然だが、受信したメールの添付ファイル部分だけを削除することはできないし(添付ファイルの削除だけでなく、編集は一切できない)、メールそのものを単純に削除すると、やりとりしたメールの記録(本文テキスト)も消えてしまうことになる。

 本TIPSでは、Outlook Expressにおいて、(POP3プロトコル経由で)受信したメール・メッセージをエディタで再編集することにより、添付ファイル部分を削除する方法を紹介する。ただし、マウスクリック1つで実行できるという簡単な方法ではないし、何より、メール・データの改ざんともいえる行為なので、その結果には十分注意して実行していただきたい。

操作方法

 メール本文から添付データ部分を削除するには、メール・メッセージをメモ帳で開き、添付ファイル部分のデータを削除後、メール・ソフトウェア(この場合はOutlook Express)に戻せばよい。

1.メール・メッセージの取り出し

 メール・メッセージ・データを編集するには、まず対象となるメール・メッセージを、メール・ヘッダなどとともに、完全に元のデータのまま取り出す必要がある。このためには、メッセージを選択して、[ファイル]メニューの[名前を付けて保存]で「メール(*.eml)」形式で保存する。このメニューでは「テキスト ファイル(*.txt)」形式や「Unicode テキスト ファイル(*.txt)」形式でも保存できるが、これらの形式で保存してはいけない。テキスト・ファイル形式では本文部分しか保存されないからだ。

 以上の操作を一番簡単に行う方法は、単に、メール・メッセージをドラッグして、デスクトップや適当なフォルダ中にドロップすることである。これだけで「件名.eml」というファイル名でメール・メッセージが保存される。

メールの取り出し
Outlook Express上でメール・メッセージを選択し、ドラッグしてデスクトップへドロップする。すると「件名.eml」という名前のファイルが作成される。
  メール・メッセージを選択後、デスクトップへドラッグ&ドロップする。

2.添付ファイル部分の削除

[送る]メニューに項目を追加する方法(Windows TIPS)

 以上の操作で作成された.emlファイルは、実はただのテキスト・ファイルである。これをメモ帳で開き、添付ファイル部分を選択後、削除すればよい。メモ帳で開くには、メモ帳を起動後、.emlファイルをドラッグ&ドロップするか、[ファイル]−[開く]で*.emlファイルを指定して開けばよい。エクスプローラの[送る]メニューにメモ帳を登録しておき(関連記事のTIPS参照)、.emlファイルを送ってもよいだろう。

 メモ帳で開いたら、添付ファイルに相当する部分を探し出し、それを選択して削除する。メールの添付ファイルは、一般的にはMIMEエンコーディングという方法で埋め込まれているので、まずは、その部分を見つける。元のメールと照らし合わせるとだいたい分かると思うが、最初に本文部分があり、その次に添付ファイル部分が続いている。本文や添付ファイルは、「マルチパート区切り文字列」で囲まれている。区切り文字列はメール・ヘッダ中に「Content-Type: multipart/mixed; boundary="〜〜〜〜〜"」などというふうに書き込まれているので(" " 記号の間には任意の文字列が入る)、これを探せばよいが、通常はブロックごとに分かれているので、見ればすぐ分かるだろう。この文字列の次の行には「Content-Type: 〜〜」などという文字列が入っているはずなので、これを目印にしてもよい。なお、メールの本文部分の文字は、いわゆるJISコードやUTF-7、UTF-8などの文字コードで記述されているので、メモ帳ではそのまま読むことはできない。だが、行の長さや、含まれる英数字などから、どこがメールの本文かはすぐに分かると思う。メールの本文が長い場合や、HTML形式メールの場合はやや分かりづらいかもしれないが、バイナリ・データの部分は固定長の行データが続くので(文字の内容はランダムな英数字/記号に見える)、それで判断してもよいだろう。

添付ファイル部分の削除
添付ファイルはMIMEエンコーディングという方法で埋め込まれている。添付ファイルの部分を見つけ、そのパート(範囲)ごと選択、削除する。
  本文パートや添付ファイル・パートを区切るための文字列。各パートの先頭部分に付いている。この文字列はメールごとに異なっており、実際にどのような文字列を区切りとして使うかは、メールのヘッダ部分(もっと上の方)で定義されている(本文中では、区切り文字列は、行の先頭から"--"で始まっている)。
  これが添付ファイルに相当するパート。このパートを選択後、削除すればよい。区切り文字列の部分から、ファイルの最後まで全部削除すること。

 添付データの部分を選択後削除し、そのままファイルを保存すればよい。マルチパートの終了部分がよく分からなければ、そのままファイルの末尾まで選択して削除すればよい。通常、添付ファイルはメールの最後に付けられているので、そのまま最後まで全部選択後、削除しても問題ない。

3.メール・メッセージを戻し、重複分を削除する

 以上で編集は終了である。次は、このメール・メッセージ・ファイルをドラッグして、もとのメール・フォルダへドロップすればよい。これだけで自動的にメールがインポートされ、フォルダに格納される。

 ただし実際に実行すると、次のように、同じメッセージが2つ重複しているように見える。元のメッセージは上書きされて消えるわけではなく、残っているため、このようになる。つまり、同じ内容でもう1通メールを受信したのと同じ状態になる。

重複メールの削除
.emlファイルをドロップすると、同じメールをもう1通受信したのと同じ状態になる。添付ファイルの有無でどちらがオリジナルで、どちらが新規メールかを確認し、内容をチェック後、不要な方を削除すればよい。
  こちらが新規作成されたメール・メッセージ。添付ファイルが付いていない。
  こちらがオリジナルのメール・メッセージ。添付ファイルが付いている。こちらを削除する。

 内容を確認後、元のメール(およびデスクトップ上に置いた編集済みの.emlファイル)は削除すればよい。End of Article

関連記事(Windows Server Insider)
Windows TIPS:[送る]メニューに項目を追加する方法
Windows TIPS:大きなサイズのファイルを分割して送受信する
Windows TIPS:バイナリ・ファイルの内容をメモ帳で確認する
Windows TIPS:メールの文字コードを理解する
Windows TIPS:Outlook Expressのフォルダを最適化して領域を節約する
Windows TIPS:Outlook Expressでアクセス不能の添付ファイルにアクセスする方法
Windows TIPS:メールに添付された.PIFや.EXE、.SCRなどの実行ファイルに注意
Windows TIPS:Outlook Expressでメール・メッセージのソース情報(ヘッダ情報)を表示する
Windows TIPS:XP SP2のOEでHTMLメールを表示させる
 
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間