PHPお問い合わせフォーム
つくったもの / TOOLフォームは設置できたのに、メールが届かない。
そんな環境でも使えるように、SMTPサーバーへ直接つないで送信するお問い合わせフォームを作りました。

実際の管理画面です。届いたお問い合わせを一覧で確認し、CSVで書き出せます。
なぜ作ったか
レンタルサーバーによっては、PHPの mail() で送ったメールが届かなかったり、迷惑メールに入ったりすることがあります。
そこで、サーバーのメール送信機能に頼らず、SMTPへ直接つないで送れるフォームを作りました。
古いサーバーでも、なるべく手間なく設置できることを優先しています。
できること
- SMTPへ直接つないでメールを送信
- データベース不要
- Composer不要
- PHP 5.6〜8.xに対応
- お問い合わせ内容を管理画面で確認
- CSVでの書き出し
MITライセンスで無料公開しています。
GitHubからダウンロードして使えます。
どう作ったか
追加のライブラリやデータベースを必要としない構成にしています。
サーバーへアップロードして設定ファイルを置くだけで使えるようにし、PHP 5.6の環境でも動く書き方に揃えました。
詰まったところ
うまくいかなかったものも、そのまま書いています。
公開直前に、自分のコードの穴を見つけた
最終チェックで、CSVの書き出しに問題が見つかりました。
お問い合わせ内容が「=」などで始まっていると、CSVをExcelで開いたときに数式として解釈される可能性があります。
そこで、対象となる値を文字列として扱うように処理を追加しました。
作った本人が最後に一度、攻撃する側の目で見る。
この確認は外さないようにしています。
作っただけでは、なかなか届かなかった
もともとは買い切りのフォームとして販売していました。
機能や設置のしやすさにはこだわりましたが、思ったほど販売にはつながりませんでした。
作ることと、それを知ってもらうことは別でした。
そこで販売を終了し、現在はMITライセンスでGitHubに無料公開しています。
これで広まるかは、まだ分かりません。しばらく試してみようと思っています。
既存のフォームが動かない、といったご相談も受け付けています。
メールで相談する