• ベストアンサー

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

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

  • Perl
  • 回答数5
  • ありがとう数4

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

  • ベストアンサー
回答No.3

Q. cgiで添付ファイルを指定する。→cgiで添付ファイルを取得するのは 原理的に不可能なのでしょうか? 可能です。 ブラウザでフォームを表示 ↓ ファイルを添付 ↓ submit して、サーバへデータをPOST送信 ↓ CGIでデータを受け取って、デコード という一連の流れをひとつひとつクリアしていれば、OKです。 ブラウザからファイルを添付するフォームは、 静的なHTMLファイルだろうが、 CGIによる動的なものであろうが、 どちらにしろ同じHTMLであれば問題ありません。 ですので、ブラウザでフォームを表示したときに、 HTMLのソースを確認して、うまくいく静的なHTML と同じものなのか、 確認してみてください。 - (1) (2) データはサーバへPOSTされているかを、確認する。 Firefox のアドオン live http headers を使うと便利です。 フォームをperl によるCGIで表示する とのことですが、 「ファイルを添付するフォームを表示するCGI」 と 「ブラウザから受け取ったファイルを処理するCGI」 は、同じプログラムなのでしょうか。

yturugashi
質問者

お礼

ご指導ありがとうございます。 (2)データはサーバへPOSTされているかを、確認する。 Firefox のアドオン live http headers を使うと便利です。 → 「ブラウザから受け取ったファイルを処理するCGI」に 以下のように記述すると問題なく表示されます。 use CGI qw(:standard); require 'D:\inetpub\cgi-bin\exec\jcode.pl'; print "Content-type:text/html\n\n"; my(@query) = param(); foreach (@query) { $val = param($_); &jcode'convert(*val, 'sjis'); $buf{$_} = $val; print "buf{$_}=$buf{$_}<br>\n\n"; } フォームをperl によるCGIで表示する とのことですが、 「ファイルを添付するフォームを表示するCGI」 と 「ブラウザから受け取ったファイルを処理するCGI」 は、同じプログラムなのでしょうか。 違うプログラムです。 以上です

その他の回答 (4)

回答No.5

参考URL の方法ではいかがでしょうか。 CGI.pmがバージョン2.47以上という前提ですが。

参考URL:
http://www.ss.iij4u.or.jp/~somali/web/_perl_upload.html
yturugashi
質問者

お礼

ご教授ありがとうございます。参考にしたいと思います。

  • maura
  • ベストアンサー率46% (48/104)
回答No.4

sendmail コマンドを使わない方法なら Mail::Senderモジュールだと簡単だと思います。 日本語の和訳のドキュメントがないけと、多少Mailについて の知識があれば大丈夫でしょう。

参考URL:
http://search.cpan.org/~jenda/Mail-Sender-0.8.13/Sender.pm
回答No.2

CPAN モジュールをインストール可能なら、(Windowsならppmで) MIME::Lite というモジュールを使うと便利です。 参考URL(perlfaq9 の邦訳)の下の方に、 How do I use MIME to make an attachment to a mail message? (メールメッセージに添付するためにどうやって MIME を使えばいいですか?) という説明があります。

参考URL:
http://perldoc.jp/docs/perl/5.6.1/perlfaq9.pod
yturugashi
質問者

お礼

ご指導ありがとうございます、よく調べて考えてみます。

yturugashi
質問者

補足

※補足 フォームに <form name="mailtome" method="post" action="/cgi-bin/mailex.cgi" ENCTYPE="multipart/form-data"> <input type=file name=upload_file size=XX> <input type="submit" name="Submit" value="送信"> と記述し、/cgi-bin/mailex.cgi には use CGI qw/:all/; $file = param('upload_file'); として実行すると$fileとして取得できます。 しかし、フォームではなくperlで print '<form name="mailtome" method="post" action="/cgi-bin/mailex.cgi" ENCTYPE="multipart/form-data">'."\n"; print '<input type=file name=upload_file size=XX>'."\n"; print '<input type="submit" name="Submit" value="送信">'."\n"; とし、以下のようにすると$fileが取得できません。 use CGI qw/:all/; $file = param('upload_file'); cgiで添付ファイルを指定する。→cgiで添付ファイルを取得するのは 原理的に不可能なのでしょうか?ご教授願います。

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

メールで添付ファイルがどのような方法でくっついているのかまず知る必要が有るんじゃないかな? http://www.google.co.jp/search?hl=ja&lr=lang_ja&q=%E3%83%A1%E3%83%BC%E3%83%AB%20%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA%E3%83%87%E3%83%BC%E3%82%BF%20base64

yturugashi
質問者

お礼

ご指導ありがとうございます、まずはインターネットでのメールの 仕組みを理解するようにしたいと思います。

関連するQ&A

  • EUDORAで返信する際、ファイルを添付する方法

    EUDORAでメールを返信する際、送信された時に添付されていたファイルをそのまま添付して返信する際に、いちいち「メッセージ」→「ファイルを送る」→(ファイルを探して)ファイルの選択/指定をせずに、「返信」を使った時に自動的にファイルを添付されるように設定は出来ないのでしょうか? 「ツール」→「オプション」の基本設定・返信・添付ファイル等のにはそのような設定は無いようですが・・・。 因みにバージョンは4.3.2Jです。

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

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

    • ベストアンサー
    • CGI
  • メールの添付ファイルを自動的に別の場所へ置く方法。

    メールの添付ファイルを自動的に別の場所へ置く方法。 RedHat sendmailによる自社メールサーバーがあります。 そこで受信されるメールの添付ファイルを、別のシステムで 使いたいと考えています。 sendmail又はRedHatによって、メールを受信したら、添付ファ イルを同一ネットワーク上の任意の場所へ置くということが 可能でしょうか?(受け手側でメーラーを使う方法は無しです)

  • 自動返信の際に添付ファイルをつける方法

    こんにちは。 早速ですがタイトルのことについて質問させて下さい。 マイクロソフトのXP標準で付いてくるメーラーOutlook Expressの自動返信機能ですが、指定した用語(私の場合は「大学祭出店書類」)を盛り込んだメールに対して受信したら自動で添付ファイル付き書類(私の場合は「大学祭出店書類.doc」を添付したメール)を返信することは可能ででしょうか? メッセージルールで指定した文書のみでの返信ではoutlook→outlook、outlook→hotmailへの送信及び受信を確認しました。しかしhotmail宛にはeml形式だとtxt形式での文字化けした添付ファイルになってしまい文書が表示されないため、送信したい文書をhtml形式で作成し自動返信設定をしたらうまくいきました。 しかし添付ファイルをつけるとなるとhtml形式では添付出来ず困っています。文書内にwebリンクアドレスを記載する方法も考えましたが大学内にある大学祭実行委員会のパソコンから自動返信するため大学内のHPにアップするには情報センターに依頼しなければならず夏休み中の現在ではお願いできないのです。ウェブスペースを利用することも考えましたが、学内のパソコンのためアップロードするなら大学のサーバーに、と学生課に言われました。 早急に配布しなければいけないファイルなのでどなたか良いアイデアをお持ちの方、ご指導願います。

  • office - 添付ファイルを添付したまま返信したい

    officeを使用しています。 添付ファイルのあるメールを受信して、そのメールに返信するとき、 もとの添付ファイルを添付したまま返信したいことがあるのですが、 簡単な方法はありますか? 今は、転送にしてTo, CCを再度入力する or 添付ファイルをコピペする という方法を採っており、面倒くさいのです。便利な方法がありましたらご教示いただけませんでしょうか。 よろしくお願いいたします。

  • Outlook 2003 添付ファイル受信と返信

    お世話になります。 Outlook 2003 の操作方法についてお伺い致します。 添付ファイルされたメールを受信し、 それを返信する際、受信時にあった添付ファイルをそのまま添付して返信できる設定方法がありましたらご教示ください。 添付ファイルを再度挿入せず「返信」のクリックのみで、添付ファイルそのままで返信したいのですが、できますでしょうか? 現状「転送」の場合は添付ファイルがそのまま添付されます。 notes等は初期設定のまま、添付ファイルをそのまま返信できますよね。 以上、宜しくお願い致します。

  • 添付ファイル Perl メール

    いつもお世話になっております。 タイトルについて教えてください。 ホームページにてお問い合わせフォームを作成しましたが 画像(添付ファイル)も送れるようにしたいのですが、どのようにすればいいのでしょうか? HTMLの方は下記で十分なのでしょうか? <input type="file" name="添付ファイル"><br> そこからPerlでのコードはCGI.pmのみでいけるのでしょうか? 例えば、 添付ファイルといってもあまり容量が大きすぎると、サーバー側に負担がかかってしまうため ??メガまでといった設定や、拡張子(jpg,png,gif,pdf,xlex,xlem)などといった拡張子指定 といった機能もほしいところです。 どうかお力添えをお願い致します。 補足 ~メガや拡張子はjavascriptでもいいのかな・・・?

    • 締切済み
    • CGI
  • 添付書類の返信方法

    メールにて添付書類がおくられたきました。 「ファイルを保存」のところをクリックすると、ダウンドロードされて、書類は表示されます。 そこに必要事項を記載して返信したいのですが、どうやって返信すればいいのでしょうか?方法がわかりません。 よろしくおねがいします。

    • 締切済み
    • Mac
  • 返信 添付ファイル自動添付

    送られてきた添付ファイルを添付されたまま全員に返信したいのですが、どのように設定したらよろしいでしょうか。 契約書等を複数名で手入れをしあうとき、自分の番になると修正して全員に返信します。 そのとき、自分では手直しする箇所がない場合、「私は特に修正ないです」とメールで書いて、添付ファイルをそのまま送れると間違いがないし楽なのですが。

  • Hotmailに返信すると添付ファイルになってしまう

    Hotmailを使っていますが、届いたメールに返信すると、元のテキストが引用されずに、添付ファイルになってしまうことがあります。オプションで設定をいじってみたのですが、解決されません。何か良い方法をご存知の方がいればぜひ教えてください!

専門家に質問してみよう