• ベストアンサー

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

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

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

  • ベストアンサー
noname#205142
noname#205142
回答No.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とか適当なのじゃなく、メッセージ中に現れないユニークなものを使う必要があったり、色々細かいところはありますけど。

ieyasu
質問者

お礼

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

関連するQ&A