久々の技術系記事。すごい簡単な部分だけど、一応メモとして書きます。
Responsive mailformは最近使ってるから設置方法とかいつか記事にしたいところ。
Responsive mailformとは
https://www.1-firststep.com/archives/462
こちらをどうぞ。簡単に設置できるメールフォームです。
件名や本文のカスタマイズについて
件名及び本文はcomfig.phpに記述します。
25行目以降が、管理者に届くお知らせメールについて。
49行目以降が、入力した人に届く自動返信メールについて。
ここに入力された情報を、タイトルに入れたい方もいると思います。
その場合は各inputタグのnameから取得しましょう。
1 2 | < 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 > |
1 2 | $name1 = $_POST [ "name_1" ]; $name2 = $_POST [ "name_2" ]; |
初期メールフォームの場合はこちらで「名前」に入力されたテキストを取得できます。
あとは$rm_send_subjectにこの値を入れましょう。
1 | $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をそのまま件名に代入するとメールヘッダインジェクション脆弱性になり、迷惑メールを一斉送信する際の踏み台にされますよ。
誰でも自由にそのサーバーから迷惑メールを送信でき、そのサーバーの管理者は被害者から損害賠償請求を受ける可能性もあります。