- 締切済み
htmlに記述してあるアドレスを取得
htmlファイルに記述してあるメールアドレスをフォームCGIの送信先フィールドに入れたいのですがお教え下さい。 一般によくあるフォームCGIですと管理人等決まったアドレスに送信するようになっていますが、 これをhtmlファイルからsubmitボタンを押すと送信先(mailto)に入るようにするにはCGIの中にvalueで定義するのでしょうか? その方法等ご存知でしたらご教授願いませんでしょうか? perl初心者です。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- burn
- ベストアンサー率65% (25/38)
サンプル拝見しました。 わかりました。やはりsendmailですね。 下記にそのサンプルを記載します。参考にして下さい。 $smail='aaaa@bbb.co.jp'; →差出人 $e_mail=$in{'email'}; →宛先(単に$e_mailに代入しているだけ。直接$in{'email'}を使ってもよい $subject = "タイトルです"; &jcode'convert(*subject,'sjis'); →日本語をs-jisに変換します。jcode.plが必要です。 open(MAIL,"| /usr/lib/sendmail -t "); →sendmailのパス。サーバーによって設定は違う print MAIL "To: $e_mail\n"; ⇒ここが本題の部分。ここにメールアドレスの入った変数をいれる print MAIL "From: $smail\n"; print MAIL &jis("Subject: $subject\n\n"); →改行で一行空ける print MAIL $object; →本文が入ります close(MAIL); 書き方はいろいろです。 但し、ルールがあるので、参考書を読んで確認してください。
- burn
- ベストアンサー率65% (25/38)
少し、質問の意味が分からないのですが・・・ HTMLのページに記載されている、メールアドレス(mailto)をクリックすると、通常メールソフトが立ち上がり、宛先欄にそのアドレスが自動的に入りますが、それをCGIでやりたいと言う事ですか? それとも、フォームから送信ボタンをクリックすると、CGIを呼び出して、自動的にメール送信を行う仕組みの事でしょうか? 前者は、クライアント(パソコン)側の機能なのでCGIとは無関係なので論外とします。 多分、後者の事を質問されているのかなと思います。 まず、valueというものは何なのかについて話しますが、 valueとは、HTMLの<FORM>~</FORM>の中で、CGI等にデータを送る時の値の事を言います。対でnameも指定しないといけません。(name=valueの関係) メールの自動送信の方法ですが、これはCGIで行います。 CGI内部で、sendmailを使用してメールを送り出します。 sendmailについては、CGI関係の参考書に必ず載ってますので、そちらを見てください。 CGIの内部で送信先のメールアドレスは指定できます。 ただ、よく変更があるとか、可変にしたいのであれば、 HTMLの中で <INPUT TYPE="hidden" name="email" value="aaa@bbb.com">等として、CGIにデータを送れば可能です。 まずはHTMLとCGIの基本的な関係について、勉強してください。
お礼
ありがとうございました。 上記についてはhtmlの部分で今回はCGIでの処理をお聞きしたかったのですが質問の意味が伝わりにくくて申し訳ありません。 上記の知識、htmlとCGIの基本的な関係は存じております。 送信先のフィールドは常に変動する為<input type="" name="" value="">の形でメールアドレスをCGIにわたし、 その情報を更に送信先フィールドに入れたいのです。 確認画面には<input type="hidden">でメールアドレスを入れ、それを次に送信先フィールドに入れるといった処理がしたいのです。 うーん・・どうも伝えにくいのはわたしの文章能力が低いからかな・・・
補足
http://www.j-webtv.ne.jp/~barrel/sample/test.html 上記にサンプルを上げましたので意味が伝わればと思います。 よろしくお願いいたします。