multipart/mixedのメールが複数分割されて送られてきました。メール本文は空っぽで、全て添付ファイルになっていました。
どうやら、outlook expressで送信した場合に起こる現象のようですが、こちらで読めないので困ってしまいます。
中身を見ると、テキストの本文に続き、
Content-Type: application/octet-stream; Content-Transfer-Encoding: base64
となっていて、この部分以降に怪しげな文字列が延々と続いています。
この部分以降は、base64でエンコードされたバイナリ添付ファイルなわけです。
この部分を取り出してエンコードを解けば(デコードすれば)、添付されていたファイルを復活できるはずです。
で、perlの出番です。
Step1:base64部分だけのファイルを作る
> ls xxx[1_3].dat xxx[2_3].dat xxx[3_3].dat > cat *.dat > abc.dat > vim abc.dat #ここで、必要な部分(怪しげな文字列の部分)以外を削除
Step2: perlでデコード
Perlのソース
#!/usr/bin/perl -w
use MIME::Base64;
binmode STDOUT,'raw';
binmode STDIN,'raw';
while(<>){
print decode_base64($_);
}
楽勝だね。