基本的に、添付ファイルが一緒に同封されたメールは、ネットスケープに付属しているメールツールや、windowsで利用されている最近のメールツールなどを利用していると、添付されたファイルが自動的に展開され、ファイルが別に作られたり、リンクが作られたりします。しかし、普段そのようなメールツールを利用しない人が添付ファイルの同封されたメールを受け取ってしまうと、そのデータは展開されずただのテキストファイルとして処理されてしまいます。ここで説明するのは、そういう風にただのテキストとして受け取ってしまったメール中の添付ファイルデータを手動で展開する方法についてです。
情報処理センターにあるサーバワークステーション(owani8、prex)には、uudeviewというプログラムがインストールされています。このコマンドを利用することで、BASE64、uuencode、BinHex、xxencodeなどの形式でエンコードされた添付データを取り出すことができます。uudeviewの使い方
uudeview [オプション] [ファイル名]基本的にオプションはつけなくても結構です。uudeviewコマンドに続いて、上に挙げたデータ形式が含まれているファイル名を入力して下さい。
実例
ここではBASE64形式のデータが含まれるファイルを用い、そのファイル名をtestmail.txtとします。他のエンコード方式でエンコードされたデータも同様の手順で展開できます。
owani8% uudeview testmail.txt Loaded from testmail.txt: 'test for BASE64.' (BASE64.): part 1 Base64 Found 'UNKNOWN.001' State 16 Base64 Parts 1 OK -rw-r--r-- UNKNOWN.001 is OK [d] (?=help) r ←rコマンドでファイル名を修正 Enter new filename: test.jpg ←新しいファイル名の入力 -rw-r--r-- test.jpg is OK [d] (?=help) ←returnキーで実行 File successfully written to /shm/17/ynarita/Mail/inbox/test.jpg 1 file decoded from 1 input file, 0 failed owani8%上の例では、testmail.txtに含まれていた「UNKNOWN.001」というファイルを「test.jpg」というファイル名に変換して出力している様子を示しています。この例ではファイル名が不明になってしまった例を示しましたが、通常はファイル名がきちんと表示されることのほうが多いので、何も考えずリターンキーを押せば良いはずです。なぜ、UNKNOWN.001がjpgファイルであるかが分かるかというとは、実際にtestmail.txtの中身を見てみると、
という感じで「Content-Type:」の部分にどういうファイルなのかを示す情報が含まれているからです。
----Next_Part(Thu_Nov_27_16:10:04_1997_945)-- Content-Type: Image/Jpeg Content-Transfer-Encoding: base64
windowsのメールツールを利用していて、添付ファイルが展開できないような事態に陥ってしまった場合は、次の2つのうち、いずれかの作業を行うことで添付ファイルを展開できると思います。必要な部分をコピーしたファイルをUNIXサーバ上へFTPして、上記の手順で展開する。
デコード用のソフトウェアをインストールして展開する。
UNIXの知識があって、FTPなどの操作が手軽に行える方は1番目の方法で行うのが手っ取り早いと思います。UNIXにあまり詳しくない人は、2番目の方法デコードすることになります。winzipによる展開方法デコード用のソフトウェアとして挙げられるものは、
winzip(Version6.2以降) シェアウェア windows3.1(16bit版)、windows95(32bit版) wincode フリーウェア windows3.1、windows95(16bit版のみ) があります。どちらのソフトも窓の杜のエディタ・ファイル操作→圧縮・解凍・変換カテゴリの中に置いてあります。
winzipバージョン6.2以降のものは、BASE64、uuencode、BinHex、xxencodeの形式でデコードされたファイルをいずれも展開することができます。方法は以下に示すとおりです。
wincodeはWinzip同様、windows3.1でもwindows95でも動作し、BASE64、uuencode、BinHex、xxencodeの形式でデコードされたファイルをいずれも展開することができるフリーウェアです。ただし16bit版しか存在しておらず、windows95のロングファイルネームにも対応していないので注意が必要です。展開方法は以下に示す通りです。
- wincodeを起動する。
- 以上に挙げた形式が含まれるファイルをwincodeのウィンドウの中へドラッグする(あるいは、FileメニューのDecodeからファイルを選択する)。
- 「Drop to」の部分でDecodeを選択し、OKを押す。
Macの場合もwindows同様、必要な部分をコピーしたファイルをUNIXサーバ上へFTPして、上記の手順で展開する。
デコード用のソフトウェアをインストールして展開する。
というどちらの方法でもデコードすることがすることができます。2番目の方法を取る時に利用するMac用のデコードツールとしては、
Yet Another BASE64 Decoder フリーウェア というものがあります。このソフトでは、BASE64、uuencodeの形式でエンコードされた添付データを展開することができます。このソフトはinfo-macのミラーをしているサイトのcmpというディレクトリの下に置いてあります。東京大学のFTPサイトなどから入手してください。
デコードの方法は、展開したいファイルをYA-Base64のアイコンにドラッグするだけでOKです。元のファイルがあった場所にデコードされたファイルが生成されます。
ただ若干注意が必要なのは、エンコードされたファイル側で、展開するファイルのファイル名が設定されてない場合、YA-BASE64が勝手にファイル名をつけてしまうので、後で自分がわかりやすいように適切な名前に変更する必要があることです。
si96008@si.hirosaki-u.ac.jp(Yoshiteru Narita) |