ITTI STAFF
BLOG

イッティWEBスタッフの制作ブログ

WordPressのお問い合せにTransmitMailを使う方法

ワードプレスのお問い合せフォームにはプラグイン「Contact Form7」や「MW WP Form」がありますが、今回は柔軟にカスタマイズできるTransmitMailをワードプレスのお問い合せフォームに利用します。

TransmitMailの特徴

  • Copyrightが不要
  • ファイルの添付が可能
  • ファイルの保存期間や上限サイズ、拡張子を設定できる
  • 入力、確認、エラー、完了のテンプレートがありデザインも自由にできる
  • 自動返信可能
  • メールの受信先に複数の宛先を設定できる
  • 自動返信メールのレイアウトや書式も自由にできる
  • メールや数字、ひらがな、カタカナなどのバリデーション
  • CSVファイルに記録させることができる
  • エラーログも出力される
  • アクセス拒否ホストが設定できる
  • 外部SMTPサーバを利用できる
  • 確認、完了へ遷移する時にURLが変わらないため、アナリティクスの設定には仮想URLの設定が必要になる

などなど、柔軟で機能も豊富なPHPフォームです。

WordPressにTransmitMailを設置する方法

ワードプレスでTransmitMailが使えるようにファイルをアップロードして、設定していきます。

ファイルのディレクトリ構造

TransmitMailはテンプレートディレクト内にアップロードします。
ディレクトリ構造は下記のようになります。index.phpは削除します。

固定ページのテンプレートファイル

固定ページのテンプレートファイルには「TransmitMail」のテンプレートを表示させる箇所に下記を記述します。

「TransmitMail.php」「config.php」のパスは適宜変更してください。

<?php get_header(); ?>
<main>
<?php

  require_once TEMPLATEPATH . '/inquiry/lib/TransmitMail.php';
  $tm = new TransmitMail(TEMPLATEPATH . '/inquiry/config/config.php');
?>
<?php
  $tm->run();
?>
</main>
<?php get_footer(); ?>

固定ページにお問い合せページを作成

固定ページに「お問い合せ」ページを作成します。
今回はスラッグを「inquiry」にします。

config.phpを編集する

TransmitMailのconfig.phpファイルを編集します。
TransmitMailのテンプレートファイルのパスを記述します。パスは適宜変更してください。

<?php
$config['to_email'] = 'info@example.com';
$config['to_subject'] = 'お問い合わせ';
$config['auto_reply_subject'] = 'お問い合わせありがとうございます';
$config['auto_reply_name'] = 'ITTI';

// TransmitMailのテンプレートパスを記述する
$config['tpl_input'] = TEMPLATEPATH . '/inquiry/input.html';
$config['tpl_confirm'] = TEMPLATEPATH . '/inquiry/confirm.html';
$config['tpl_finish'] = TEMPLATEPATH . '/inquiry/finish.html';
$config['tpl_error'] = TEMPLATEPATH . '/inquiry/error.html';
$config['mail_body'] = TEMPLATEPATH . /inquiry/config/mail_body.txt';
$config['mail_auto_reply_body'] = TEMPLATEPATH . '/inquiry/config/mail_auto_reply_body.txt';
$config['log_dir'] = TEMPLATEPATH . '/inquiry/log/';
$config['tmp_dir'] = TEMPLATEPATH . '/inquiry/tmp/';

TransmitMailのテンプレートファイルを編集する

今回のポイントになります。
formタグの「action」を「./」に変更します。

<form method="post" action="./" enctype="multipart/form-data">

「送信」や「戻る」ボタンのform箇所も「./」に変更します。

<form method="post" action="./">

あとは、設定マニュアル通りに進めていけばOKです。

上手く可動しない場合

FAQでエラーやカスタマイズについて解説されています。
とても情報が豊富です。

送信ボタンを押しても反応しない

formのactionのパスが間違っている可能性があります。
「action=”./”」や「action=”inquriry/”」など環境に合わせて変更してみてください。

新しい記事

東京のWEB制作会社イッティ