※ ChatGPTを利用し、要約された質問です(原文:ドロップダウンで送信先を変更するメールフォーム)
ドロップダウンで送信先を変更するメールフォーム
このQ&Aのポイント
ホームページでメールフォームを使用しています。htmlで作ったフォームからPHPファイルを呼び出すというやり方です。フォームに入力された内容を、PHP内で指定したメールアドレス宛に送るごく普通のメールフォームです。
このメールフォームを改造して、問い合わせ項目ごとに別のメールアドレス宛に届くようにしたいのです。以下のようなドロップダウンリストを作成して、フォームのnameを使ってifでできるかと試しましたが、見よう見まねでは挫折してしまいました。説明不足かもしれませんがお教えいただけませんでしょうか。
PHP側には送信先1つだけを記述するように作ってあり、メール送信ルーチンでこれを呼び出しています。$To = 'xxx@xxx.com';
ホームページでメールフォームを使用しています。
htmlで作ったフォームからPHPファイルを呼び出すというやり方です。
フォームに入力された内容を、PHP内で指定したメールアドレス宛に送るごく普通のメールフォームです。このメールフォームを改造して、問い合わせ項目ごとに別のメールアドレス宛に届くようにしたいのです。
以下のようなドロップダウンリストを作成して、
<form action="mail.php" method="post">
<fieldset>
<p><span class="find">お問い合わせ項目 [必須]</span>
<select name="お問い合わせ項目">
<option value="未選択">お選び下さい</option>
<option value="サークルについて">サークルについて</option>
<option value="学部について">学部について</option>
<option value="その他">その他</option>
</select>
</fieldset>
</form>
サークルについての項目が選ばれたら、xxx@xxx.com へ
学部についての項目が選ばれたら、ooo@ooo.com へ、
それぞれメールを送りたいのですが、PHP側でどのような記述を加えればよいでしょうか。
PHP側には送信先1つだけを記述するように作ってあり、
メール送信ルーチンでこれを呼び出しています。
$To = "xxx@xxx.com";
フォームのnameを使ってifでできるかと試しましたが、見よう見まねでは挫折してしまいました。説明不足かもしれませんがお教えいただけませんでしょうか。
↓PHPのメール送信部分の記述だと思います。
$body=mb_convert_encoding($body,"JIS","SHIFT_JIS");
$sbj="=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($sbj,"JIS","SHIFT_JIS"))."?=";
if($from_add == 1) {
$from = $_POST['email'];
$header="From: $from\nReply-To: ".$_POST['email']."\nContent-Type: text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion();
} else {
$header="Reply-To: ".$_POST['email']."\nContent-Type: text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion();
}
if($chmail == 0 || $sendm == 1) {
mail($to,$sbj,$body,$header);
if($remail == 1) { mail($reto,$resbj,$rebody,$reheader); }
}
お礼
ご回答ありがとうございます。 教えていただいたやり方でやってみましたが、 設定したメールアドレスにはメールが来ませんでした。 自動返信メールはフォーム入力者宛に送信されています。 もう少し考えてみます。 ありがとうございました。