• 締切済み

メールの添付ファイルの表示

受信メールをホームページで表示して閲覧するプログラムを作成しているのですが、添付ファイルを表示する方法がわからないので教えていただけると助かります。 件名を表示させるプログラムと本文を閲覧するプログラム以下の通り作成しています。 件名表示プログラム(一部) foreach ( $pop -> Head( $i )) { $info_link = "<a href=\"./mail.cgi?uname=$user&passwd=$pass&msgnum=$i\">$sub</a>"; } 本文表示プログラム(一部) foreach ( $pop -> Body( $msgn )) { $body = jcode($_)->mime_decode()->sjis; $HTML .= <<"EOL"; $body<br> EOL } $HTML .= <<"EOL";

みんなの回答

  • nerumako
  • ベストアンサー率84% (11/13)
回答No.2

自力で添付付きメールを解析する。 添付メールの基本構成は以下の通りです http://cns-guide.sfc.keio.ac.jp/2003/2/2/3.html 正規表現で切り出した部分より上部を次々に削除して行くとモジュールを使うより高速です。(だと思っています;) マルチパート(添付付きのメール)は 本文 と 添付部分 の区切りにboundary(バウンダリ)という文字列を利用しています。 boundaryの文字列はヘッダ部分で指定してあります。 一度、メーラーで受信した添付メールのソースを見ると構成がわかります。 インターネットメールは基本的にテキストデータしか送受信できませんので添付ファイル部分はBASE64というものでエンコードされてテキスト化されている事が標準です。この添付部分をデコードして保存する手順になります。 メールに関する知識付けの為に一度、手作業で行ってみるのも楽しいです。

  • g_p_
  • ベストアンサー率53% (28/52)
回答No.1

こんにちは、 ご自身で解析して添付ファイル部分を取り出して デコードするのは面倒そうなので、 MIME::Parser が使えれば使ってみてはどうでしょうか? http://search.cpan.org/~doneill/MIME-tools-5.427/lib/MIME/Parser.pm

関連するQ&A