久々の技術系記事。すごい簡単な部分だけど、一応メモとして書きます。
Responsive mailformは最近使ってるから設置方法とかいつか記事にしたいところ。
Responsive mailformとは
https://www.1-firststep.com/archives/462
こちらをどうぞ。簡単に設置できるメールフォームです。
件名や本文のカスタマイズについて
件名及び本文はcomfig.phpに記述します。
25行目以降が、管理者に届くお知らせメールについて。
49行目以降が、入力した人に届く自動返信メールについて。
ここに入力された情報を、タイトルに入れたい方もいると思います。
その場合は各inputタグのnameから取得しましょう。
<dt>名前<span>Your Name</span></dt> <dd class="required"><input type="text" id="name_1" name="name_1" value="" /> <input type="text" id="name_2" name="name_2" value="" /></dd>
$name1 = $_POST["name_1"]; $name2 = $_POST["name_2"];
初期メールフォームの場合はこちらで「名前」に入力されたテキストを取得できます。
あとは$rm_send_subjectにこの値を入れましょう。
$rm_send_subject = $name1.$name2.'様からお問い合わせがありました。';
簡単ですね。
メールアドレスを件名に入れたい場合も、メールアドレスのテキストボックスのname属性に書かれたものを$_POSTで取得し、入れるだけです。
以上!ではでは~
補足:class.mailform.phpを今回の件でいじるのは非推奨
class.mailform.phpにはinputで入力された情報をループ処理してメール本文に入れるPHPが記述されてます。
ここをいじってうまくやろうとしても基本的に難しいです。
というのも、私の試した限り、config.php→class.mailform.phpの順番に処理され、
かつclass.mailform.php内のfunctionも本文のものは件名のものよりも後に処理されているからです。
ここの処理の順番を変えるという話になると、ある程度慣れてないとまた新たな不具合を生んでしまうので、やめておくのがいいと思いました。
補足終わり。では~
$_POSTをそのまま件名に代入するとメールヘッダインジェクション脆弱性になり、迷惑メールを一斉送信する際の踏み台にされますよ。
誰でも自由にそのサーバーから迷惑メールを送信でき、そのサーバーの管理者は被害者から損害賠償請求を受ける可能性もあります。