こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

CGI(Perl)でWeb上から作成したファイル(csvなど)をsendmailで添付

宜しくお願いします。

CGI(Perl)を使い、Web上でメンバー登録などをし、
個人データなどをcsvファイルにして、sendmailで
管理者へ送りたいのですが、
添付ファイルとして、こういったファイルを送る方法をお教え下さい。

投稿日時 - 2002-03-06 10:32:36

QNo.230038

すぐに回答ほしいです

質問者が選んだベストアンサー

別にマルチパートなメッセージを作れば良いだけです。

use constant ATTACH_TEMPLATE => <<__TEMPLATE__;
From: <%s>
To: <%s>
Subject: %s
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------HOGEHOGE"
Content-Transfer-Encoding: 7bit

--------HOGEHOGE
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit

%s

--------HOGEHOGE
Content-Type: application/octet-stream; name="%s"
Content-Disposition: attachment;
filename="%s"
Content-Transfer-Encoding: 7bit

%s

--------HOGEHOGE--

__TEMPLATE__

といったテンプレートを用意しておいて

sprintf ATTACH_TEMPLATE,
  $from,
  $to,
  $subject,
  $message,
  $filename, $filename,
  $file_data;

で得たデータをsendmailコマンドに渡せばデータを添付して送信できます。
# ホントはセパレータをHOGEHOGEとか適当なのじゃなく、メッセージ中に現れないユニークなものを使う必要があったり、色々細かいところはありますけど。

投稿日時 - 2002-03-07 22:24:57

お礼

ありがとうございます。
初めてお目にかかるものですので、
少々とまどっておりますが、なんとかやってみます。
ありがとうございました。

投稿日時 - 2002-03-09 15:09:38

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問