最新閲覧日:

宜しくお願いします。

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

A 回答 (1件)

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



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とか適当なのじゃなく、メッセージ中に現れないユニークなものを使う必要があったり、色々細かいところはありますけど。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/03/09 15:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報

カテゴリ