• 締切済み

CGIを使ったメールフォームで送信先を選択させることはできますか?

メールフォームにCGIを使用していて固定のアドレスには 送信できますが、送信先をプルダウンなどで選択してもらって そのアドレスにのみ送信させることは可能でしょうか? 当方ド素人です。 以上、宜しくお願い致します。

みんなの回答

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.3

がるです。 んっと…記述されているコードでNGだとすると、恐らく $soshinsaki = $form{'soshinsaki'}; のところで、値が取れてないのだと思います。 とりあえず $soshinsaki = $form{'soshinsaki'}; の次に print $form{'soshinsaki'} . "\n"; と入れてみてください。これで、値が取れているかどうかがすぐに判断できるかと思うので。

cheese0084
質問者

お礼

がるさんありがとうございます。 今使ってるCGIはテンプレートファイルから入力された項目の確認画面htmlが表示するようになっているのですが、その画面ではsoshinsakiに数値の1や2がはいっています。これで値が取れていると判断できますか?print $form{'soshinsaki'} . "\n";を入力してみたのですが、動作は以前の¥と同様になっております。

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.2

がると申します。 可能である、という点については、#1さんのとおりなのですが。 #1さんのコードをそのまま使ってしまうと、簡単にクラックが出来てしまいますのでご注意を。 valueにはメールアドレスは絶対にいれず、例えば番号とかだけにして。 設定ファイルとかをつかって、メールアドレスを解決する、というほうが、安全だと思います。 一応念のため。

cheese0084
質問者

お礼

ご助言ありがとうございます。 お恥ずかしながら、CGIは全くの初心者のため設定ファイルの書き方?も全くわかりません。perl自体を書いた経験がないため、現状はKentWebのpostmail.cgiを使用して送信先を選択したいのですが、可能なのでしょうか? どこかの掲示板から拾ってきた下記のソースをKentWebのpostmail.cgiに 書き足してみたのですが、フォーム上で0,1.2どれを選択してもアドレス1に届いてしまいます。根本的に定義できていない様です。ご助言お願い致します。 $soshinsaki = $form{'soshinsaki'}; if ( $soshinsaki == 0) { $mailto = 'アドレス1'; } elsif ( $soshinsaki == 1) { $mailto = 'アドレス2'; } else { $mailto = 'アドレス3'; }

  • NNori
  • ベストアンサー率22% (377/1669)
回答No.1

できますよ。 送信先を選択式にするだけです。 <select name="To"> <option value="a@bbb.com" selected>Aさん <option value="bbb@ccc.co.jp">Bさん <option value="CCC@ccc.co.jp">Cさん <option value="DDD@ccc.co.jp">Dさん </select>

cheese0084
質問者

お礼

素早い回答有難うございます。 早速試してみます。