• ベストアンサー

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

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

  • CGI
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
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

  • cgi-perl の sendmail について

    cgi-perlのsendmailを使ってWebサイトに問い合わせフォームを作っています。 2つのサイトを同じサーバーに持っているのですが、かたやきちんと送信できるのに、片方はメールが届きません。 メールが届かない方も送信ボタンを押すときちんと出るべき”メールが送信されました”というメッセージは出ます。 このような場合、どこをチェックしたらいいのでしょうか。 もう何度もcgiファイル、htmlファイルを確認して、属性なども確認しているつもりなのですが、きっとどこかが違っているのだと思います。 いっそエラーが出てくれれば、わかりやすいのですが、行き詰っています。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • CGI
  • CSVファイルをCGIでダウンロード

    Perlを使ってCGIを書いています。 申し込みフォームを送信すると、CSVファイルに書き込むのとメールで送信するというCGIを作りました。 そこで、その作ったCSVファイルをFTPソフトを使うのではなく、ブラウザ上でCGIを使ってダウンロードしたいのですが、どうしたらよいのでしょう? 環境は OS:Linux、PerlのバージョンはPerl5です。

    • ベストアンサー
    • CGI
  • sendmailで添付メールを送信したい

    Perlを勉強してまだ日が浅い初心者です。 sendmailを利用して添付メールを送信したいのです。 WEBで色々と探して自分で勉強してみたのですが・・・ ほとんどがモジュールを必要としています。 モジュールってインストールしないと駄目なのですよね? 設置場所がレンタルサーバーなのでそれは多分出来ないのです。(sendmail可) 標準モジュールのみで添付ファイルを実現できる方法はありませんか? 宜しくお願いします

    • ベストアンサー
    • Perl
  • web mart cgi

    http://www.kent-web.com/cart/mart.html に書いてあるように カゴCGIスクリプトURL ( http://から記述 ) $script = 'http://www7b.biglobe.ne.jp/~blythe/mart/mart.cgi'; # 注文CGIスクリプトURL ( http://から記述 ) $order = 'http://www7b.biglobe.ne.jp/~blythe/mart/mart_order.cgi'; # 管理CGIスクリプトURL ( http://から記述 ) $admin = 'http://www7b.biglobe.ne.jp/~blythe/mart/mart_admin.cgi'; # データファイル( / から始まるフルパス ) $datfile = '/public_html/mart/data/mart.dat'; # 「特定商取引に関する法律」の表示内容 # → 引用: http://www.jadma.org/guid_mai/guidelin.html $rawfile = '/public_html/mart/data/mart_raw.txt'; # 在庫管理を行う (0=no 1=yes) $stock = 0; # 在庫ファイル( / から始まるフルパス ) $stkfile = '/public_html/mart/data/stock.dat'; # ファイルロック形式 # → 0=no 1=symlink関数 2=mkdir関数 $lockkey = 0; # ロックファイル名 $lockfile = '/public_html/mart/lock/mart.lock'; やりましてCheck Mode 在庫データパス: OK 在庫データパーミッション: OK 登録データパス: OK 登録データパーミッション: OK sendmailパス: OK バージョン: Web Mart v1.7 できましたが http://www7b.biglobe.ne.jp/~blythe/mart/mart_admin.cgi 管理者モードには入れないのです。 errors Can't locate ./lib/jcode.pl in @INC (@INC contains: /usr/local/pkg/perl/5.8.7/lib/i386-linux-thread-multi /usr/local/pkg/perl/5.8.7/lib /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl .) at mart_admin.cgi line 9. どうやればいいのですか?

  • Perlで添付ファイルを返信する方法を教えてください

    perlでメールを返信するシステムを作成しているのですが 添付ファイルを指定できてかつコメント付でsendmailを使って メール返信する方法を知っていたら教えてください

    • ベストアンサー
    • Perl
  • perlでCSVファイルのデータを操作したいのですが…

    perlでCSVファイルのデータを操作したいのですが… csvファイル内 あああ,1 いいい,3 ううう,2 といったようなファイルで 「あああ」に該当するデータがあった場合 1の部分を+1にしてCSVに戻すカウンター的な物を作りたいのですが なかなか思うように作れません。教えて頂けませんか。 すみませんが、どうぞ宜しくお願いいたします。

    • ベストアンサー
    • Perl
  • Perlでファイルの新規作成

    Perl中級者です。 フォームから受け取ったデータの一つをファイル名として 新たにデータ保存用のファイルを自動生成することは可能でしょうか? ログを定期的に別ファイルとして保存する掲示板や、cgiファイルさえ設置すれば必要なデータ保存用ファイル(空ファイル)を自動生成してくれるようなスクリプトを見かけますので、不可能ではないと思っているのですが・・・。 <作りたいスクリプトの概要> 1.管理者が管理用フォームで文字列Aを登録する。 2.A.datという名のファイルが自動生成される。 3.閲覧者がAについて閲覧者用フォームで送った内容がA.datに書き込まれる。 4.管理者用ページでA.datの内容が一覧表示される。 というもので、2の部分が分かりません。 可能であるならば、その方法をご教授願います。 不足情報がありましたら補足します。

    • ベストアンサー
    • Perl
  • 申込みフォームの内容をメールで送信,csvファイルに書き出ししたい

    cgiはただいま勉強中ですが,自分で組めるほどの知識はありませんので フリーウェアでできる物を探しています。 【したいこと】 1.申込みフォームの内容を,申込者・管理者両方にメールで送る(sendmail使用可) 2.その内容をcsvファイルに書き出したい   csvファイルはftpでダウンロードするのでかまわない。 3.申込みフォームの内容は1月に1度変わります。   同時に申込者へのメールの内容も変わりますので,簡単にアレンジできれば嬉しいです。 「Web裏技」さんの webform.cgi を利用していてアレンジしてみたのですが, 「テスト」の一言も書き出すことができず.... 過去の質問も検索してみましたが,上記のように3つのことができるcgiのことは 見つけられなかったので,よろしくお願いいたします。 言語はperlです。

    • ベストアンサー
    • CGI
  • perl cgi 「ファイルをダウンロード」

    perl cgiを作っています。 ファイル(例えば.csv)をperl側で作って、 ユーザがローカルコンピュータのこのみの場所(あるいはwindowsなら「ダウンロード」に固定でも可)にダウンロードできるようにしたいのですが、ダウンロードさせる部分をどうコーディングすればよろしいでしょうか?

    • ベストアンサー
    • CGI
  • CSVファイルからdataをcgiに取り込みたい。

    初めまして、perl全くの初心者であります。 なにとぞよろしくお願いいたします。 CSVファイルからdataをcgiに取り込みたいのですが、他者の質問を参考にしたのですがなかなか理解しがたく、みなさまのお力を拝借したいわけです。 例) 以下のようなcsvがあるとします。 data.csv  テレビ,tv.jpg,安いよ,39800  ビデオ,vtr.jpg,高機能,29800  洗濯機,sen.jpg,2層式,128000 この場合、  $sina[x] $jpg[x] $pr[x] $kakaku[x] みたいに、各データを当てはめたいのですが、どのようにすればいいのでしょうか? また、データ記載の商品の数(例では3です)を求めたいのですが。

    • ベストアンサー
    • CGI

専門家に質問してみよう