メールフォームで管理者に届いたメールに返信すると宛先が管理者になってしまう。

カテゴリ 自動フォーム・ツールに関する質問
タイトル メールフォームで管理者に届いたメールに返信すると宛先が管理者になってしまう。
質問者 サイトウさん (2472)
質問日時 2023/11/19 14:14 回答数 1
メディア共有 このエントリーをはてなブックマークに追加
質問内容

お世話になっております。
教えていただきたいのですが、
フォームが完成し動作も問題ないのですが、
フォームでお問い合わせを送信すると、

お問い合わせ受付しましたメール→お問い合わせ者
お問い合わせが届きましたメール→管理者
に届き、

お問い合わせ受付しましたメールに返信→宛先が管理者
お問い合わせが届きましたメールに返信→宛先が管理者
となってしまいますが、これは仕様でしょうか。

管理者宛に届いたお問い合わせが届きましたメールに返信したい(お客様に返事をする)場合、
フォームに入力されたお問い合わせ者のメールアドレス宛にならないのですが、
これが不便でして。。。。。

よろしくお願いいたします。

質問に回答するには、ログインしてください。

回答(1件)

回答者:
q19cms担当者さん (2341)
回答日時:
2023/11/19 14:59
ファイル:
form.zip

ご利用、ありがとうございます。

現状では、管理者あて、お客様あてどちらのメールも、送信者は管理者になっております。
管理者向けのメールの送信者をお客様のメールアドレスにしたい場合は、form.phpを次のように変更してください。

変更前(330行付近)
if ($mail_sys) {
// 管理者向け
sendmail($from_mail, $mail_sys, $subject_sys, $body_sys . $mail_body, $attach, $from_name);
}
//
if (isset($user_mail) && $_REQUEST[$user_mail]) {
// 利用者向け
sendmail($from_mail, $_REQUEST[$user_mail], $subject, $body . $mail_body, $attach, $from_name);
}
変更後
if (isset($user_mail) && $_REQUEST[$user_mail]) {
// 利用者向け
sendmail($from_mail, $_REQUEST[$user_mail], $subject, $body . $mail_body, $attach, $from_name);
if ($mail_sys) {
// 管理者向け
sendmail($_REQUEST[$user_mail], $mail_sys, $subject_sys, $body_sys . $mail_body, $attach, $_REQUEST[$user_mail]);
}
} else if ($mail_sys) {
// 管理者向け
sendmail($from_mail, $mail_sys, $subject_sys, $body_sys . $mail_body, $attach, $from_name);
}

この例では、お客様のメールアドレスを名前の代わりに使用していますが、名前を使用したい場合は、6行目を、

sendmail($_REQUEST[$user_mail], $mail_sys, $subject_sys, $body_sys . $mail_body, $attach, $_REQUEST["item1"]);

の様に修正してください。
最後の「$_REQUEST["item1"]」部分が名前の指定で、入力項目の1番目が名前の場合の例です。
1番目ではない場合は、item1をitem2など名前の入力位置に合わせて変更してください。

プログラム部分に、全角文字が入るとエラーになる場合がありますので、編集には十分ご注意ください。
もしうまくゆかない場合は、form.zipをお送りいただければ、修正してお戻しします。
送り先:cms@q19cms.com

添付のファイルは、サンプル設定で作成したフォームプログラムを修正したものです。
修正部分のコピペにご利用ください。

大変参考になりました


1件中 1 ~ 1