- 締切済み
CGIを使ったメールフォームで送信先を選択させることはできますか?
メールフォームにCGIを使用していて固定のアドレスには 送信できますが、送信先をプルダウンなどで選択してもらって そのアドレスにのみ送信させることは可能でしょうか? 当方ド素人です。 以上、宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- galluda
- ベストアンサー率35% (440/1242)
がるです。 んっと…記述されているコードでNGだとすると、恐らく $soshinsaki = $form{'soshinsaki'}; のところで、値が取れてないのだと思います。 とりあえず $soshinsaki = $form{'soshinsaki'}; の次に print $form{'soshinsaki'} . "\n"; と入れてみてください。これで、値が取れているかどうかがすぐに判断できるかと思うので。
- galluda
- ベストアンサー率35% (440/1242)
がると申します。 可能である、という点については、#1さんのとおりなのですが。 #1さんのコードをそのまま使ってしまうと、簡単にクラックが出来てしまいますのでご注意を。 valueにはメールアドレスは絶対にいれず、例えば番号とかだけにして。 設定ファイルとかをつかって、メールアドレスを解決する、というほうが、安全だと思います。 一応念のため。
お礼
ご助言ありがとうございます。 お恥ずかしながら、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)
できますよ。 送信先を選択式にするだけです。 <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>
お礼
素早い回答有難うございます。 早速試してみます。
お礼
がるさんありがとうございます。 今使ってるCGIはテンプレートファイルから入力された項目の確認画面htmlが表示するようになっているのですが、その画面ではsoshinsakiに数値の1や2がはいっています。これで値が取れていると判断できますか?print $form{'soshinsaki'} . "\n";を入力してみたのですが、動作は以前の¥と同様になっております。