お知らせ

WordPressで学ぶPHPとMySQL2009年9月23日

WordPressで学ぶPHPとMySQL」を発売しました。
「WordPressをカスタマイズしたいけど、PHPやMySQLが分からなくて躓いている」という方のための、PHPとMySQLの入門書です。
WordPressでWeb製作をされている方などにお勧めです。
PDFによる販売で、当サイトでのみ購入できます(書店では購入できません)

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

メールフォームプラグインV1.20(その1・概要とインストール)

| コメント(31) | トラックバック(6)

2008年1月31日
Movable Type 4.1用にメールフォームプラグインバージョン2.0を公開しました。

2007年5月30日
スパム対策機能等を追加したV1.30を公開しました。

2007年1月27日
メールフォームプラグインにクロスサイトスクリプティングの脆弱性等の不具合が見つかりました。申し訳ありません。
2007年1月27日午後11時38分頃までにプラグインのzipファイルをダウンロードされた方は、再度ダウンロードしていただき、最新版にアップデートしてください。

メールフォームプラグインを公開していましたが、それに対していくつかのご要望をいただいていました。
そこで、メールフォームプラグインを1.20にバージョンアップしました。

これまでにバージョンアップのたびに説明を追加してきて、エントリーが飛び飛びになって入り組んできましたので、ゼロから解説をやり直します。
今日は、インストールと初期設定の手順を解説します。

1.メールフォームプラグインの概要

このメールフォームプラグインには、以下のような機能があります。

  • Movable Typeのテンプレートとしてメールフォームを作ることができます。
  • Ajaxに対応していて、ページの遷移を伴わないメールフォームを作ることもできます。
  • フォームに任意のフィールドを入れることができます(ファイルのアップロードを除く)。

また、今回のバージョンアップで、以下の機能を追加しました。

  • 入力必須フィールドを自由に指定することができ、またフィールドごとにエラーチェックを行ってエラーメッセージを表示することができます。
  • ラジオボタンやセレクトを利用したフォームで、選ばれた項目をプレビューやエラーのフォームに反映することができます。
  • メールフォームからメールを送信した人に対して、自動返信メールを送ることができます。

さらに、名前または題名に特定の文字が含まれていると、メールが送信されない場合があるという不具合もありました。
そこで、名前と題名はメールの本文に入れるようにして、FromとSubjectのヘッダーには入れないようにしました。

2.メールフォームプラグインの利用手順

基本的なメールフォームは、以下のステップで作成します。

  • プラグインのインストール
  • メール送信フォームのテンプレートの作成
  • 送信完了ページのテンプレートの作成
  • 送信前確認ページのテンプレートの作成
  • 送信エラーページのテンプレートの作成

また、必要に応じて、自分に送信されるメールの本文をカスタマイズしたり、相手に自動返信メールを送るようにしたりすることも行います。

3.メールフォームプラグインのインストール

メールフォームプラグインは、以下からダウンロードすることができます。

MailForm_1_30.zip

プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。

また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。

Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。

ダウンロードしたファイルを解凍すると、「MailForm」というフォルダができます。
そのフォルダを、Movable Typeの「plugins」ディレクトリの中にアップロードします。

アップロード先の「MailForm」フォルダの中に、「mt-mail-form.cgi」というファイルができます。
このファイルのパーミッションを「705」などに変更して、実行可能にします。

なお、ファイルの文字コードはutf-8にしてあります。
Movable Typeの文字コードの設定をutf-8以外にしている方は、その文字コードに変えてファイルをアップロードします。

4.GetQueryParamプラグインのインストール

今回のバージョンでは、補助的に「GetQueryParam」というプラグインも利用します。
GetQueryParamプラグインは、以下からダウンロードすることができます。

GetQueryParam_1_13.zip

ダウンロードしたファイルを解凍すると、「GetQueryParam.pl」というファイルができます。
そのファイルを、Movable Typeの「plugins」ディレクトリの中にアップロードします。

なお、「秘密のコメント」プラグインや、MT-Notifierの利用などで、GetQueryParamプラグインをすでにインストールされている方もいらしゃるかと思います。
ただ、今回のGetQueryParamプラグインは、そのときのものからバージョンアップしています。
古いバージョンをお使いの方は、上記のプラグインをダウンロードしてインストールしなおす必要があります。

5.初期設定

次に、Blogごとに以下の初期設定を行います。

  • メールフォームからメールを送信されたときの、送信先のメールアドレスの規定値
  • メールフォームからメールを送信されたときに、メールの題名の先頭に付加する文字列
  • 自動返信メールを送信する場合の、送信元のメールアドレスの規定値

Blogの「環境設定」メニューの中の「設定」をクリックします。
そして、設定の中の「プラグイン」のタブをクリックして、プラグインの設定を開きます。
すると、プラグイン一覧の中に「MailForm」が表示されます。
「設定を表示」のリンクをクリックすると、上記の設定を行う欄が表示されますので、各設定を行って「変更を保存」ボタンをクリックします。

↓初期設定
初期設定

6.前後のエントリー

メールフォームプラグインは解説が長いので、エントリーを複数に分けています。
前後のエントリーは以下のリンクで参照することができます。

次のエントリー(その2・サンプルメールフォーム)

また、サイドバーの「関連するエントリー」の箇所に、メールフォーム関連のエントリーの一覧が表示されていますので、そちらもご利用ください。

トラックバック(6)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/780.

以前、トラックバックスパムが激しくなった以来トラックバックを全て拒否する設定にし... 続きを読む

メール投稿フォームを設置しました。(H.Fujimot氏のメールフォームプラグインを使用) 続きを読む

ここ数日、いろいろと新しい機能を組み込んでおります。 より見やすく使いやすく、つ... 続きを読む

MTのプラグインを入れた。 【?】 MTの機能を利用して、メールフォームを作成。... 続きを読む

既に気付いている方もいるのかもしれませんが、メンズケア・ネットでも、お問い合わせ用のメールフォームを設置しました。ブログの右上、ヘッダーの部分にそっと書い... 続きを読む

sakurako.cc 管理者日記 - MTのプラグイン (2009年2月 8日 22:13)

MTのプラグインにはいろいろあります。たとえば、「Movable Type プラ... 続きを読む

コメント(スレッド14件,コメント31件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 アストン : (無題)

あたらしいメールフォーム楽しみにしております。
今 その1が終わって待機中です。

No.2 CHOBI : (無題)

初めまして。
メールフォーム使わせていただきました。
ありがとうございます。

このメールフォームに名前やメールアドレスも記入必須になっていますが必須にしない方法はありますか?

No.3  : (無題)

>chobiさん
こんにちは。プラグインご利用ありがとうございます。

入力必須フィールドをカスタマイズする方法は、以下のエントリーを参照してください。

http://www.h-fj.com/blog/archives/2007/02/01-084519.php

No.4 ken : (無題)

メールフォーム使わせていただいております。
とても便利ですね。

ふと個別エントリーページのコメント欄の代わりに
このメールフォームを使えないものかと思い、
メール送信フォームのテンプレートをPHP化して
エントリー・アーカイブ内に埋め込んでみたのですが、
問題無くメールが送信出来ました。
次はAjax化にも挑戦してみます。


No.5  : (無題)

>kenさん
こんにちは。プラグインご利用ありがとうございます。

このメールフォームは、単体のページとして設置することはもちろんのこと、各ページのサイドバー等に設置することも考えられます。
そのようにした上でAjax化も行えば、Blogのどのページからでも、ページ遷移せずにメール送信を行うことができます。

No.6 mika : (無題)

はじめまして。

以前よりメールフォームプラグインを使わせていただいていたのですが、バージョンアップされていることに気づいて先ほどアップデートさせていただきました。
便利な機能が追加されていてすばらしいですね。

ひとつリクエストがあります。
実際に送られてくるメールの本文の内容をカスタマイズしたいのですが、どのようにしたらよいでしょうか?
特に追加したフィールドのメール本文への記載の体裁を整えたいのです。

No.7  : (無題)

>mikaさん
こんにちは。プラグインご利用ありがとうございます。
メールの本文のカスタマイズ方法は、以下のエントリーを参照してください。

http://www.h-fj.com/blog/archives/2007/02/03-102233.php

No.8 mika : (無題)

早速のレスポンスありがとうございます。
おかげさまで無事カスタマイズできました!

よく確認していないでお手間とらせてしまいすいせん。
『その8』から『その9』へのリンクが見当たらなかったので『その8』で終わりかと思ってしまいました・・・

No.9 ようこ : (無題)

はじめまして。
以前からメールフォームを使わせて頂いております。

このプラグインを同じブログ内で二つ使いたいのですが、
そういった使い方をすることはできますか?
二ヶ国語それぞれのページにそれぞれの言語に対応した
プラグインを設置できたらいいなあと考えています。

お忙しいところ恐縮ではありますが。、
もし可能でしたらご教授願いたく思います。
よろしくお願い申し上げます。

No.10  : (無題)

>ようこさん
こんにちは。
プラグインご利用ありがとうございます。

メールフォームを複数設置することは可能です。
まず、メールフォームのインデックステンプレートを2つ作り、それぞれの出力ファイル名を別にします。
また、送信前確認等のテンプレートも、それぞれ2つずつ作ります。

そして、2組目のメールフォームおよび送信前確認等のテンプレートのフォーム部分に、以下のエントリーに沿って、送信前テンプレート等の名前を指定する記述を追加します。

http://www.h-fj.com/blog/archives/2006/07/10-101621.php

No.11 ようこ : (無題)

ご回答ありがとうございます。

別言語のページで使用するにあたり同一のプラグインを使用すると同じ”MailForm.pm”を使用することになり、例えばエラーページで「メールアドレスの形式が正しくありません。」と別言語ページであっても日本語が表示されてしまいます。
それを避けるために、その部分を改編した二つ目のメールフォームプラグインを追加できたらと思っているのですが、どうやったら可能なのでしょうか。
つまり、メールフォームの複数設置でなく、メールフォームプラグインの複数設置です。

私の説明不足でお手間をかけてしまい申し訳ありませんが、
お手隙の際にご教授くださると助かります。
自分でもしばらく頑張ってみようと思います。

No.12  : (無題)

>ようこさん
メールフォームプラグインV1.20では、エラーの状況をテンプレート内で判断することができます。

http://www.h-fj.com/blog/archives/2007/02/01-084519.php

この機能を利用して、2つのメールフォームのそれぞれのテンプレートでエラーチェックを行い、別々のエラーメッセージを出力すれば良いと思います。

No.13 Fu-Chin : (無題)

はじめまして。
こちらの記事を拝見してメールフォーム使わせていただきました。
まだMTに慣れていないこともあり、設置には少し手間取りましたが、
このプラグインはいろいろ考えられており、大変便利ですね。

大変図々しいのですが、お尋ねしたく投稿しました。
このメールフォームに、「メールにファイル添付」の機能をつけたいと
考えているのですが、どうすればよいでしょうか?
プラグイン自体のカスタマイズは、してもいいのでしょうか?

No.14  : (無題)

>Fu-Chinさん
こんにちは。プラグインご利用ありがとうございます。

ファイル添付ですが、このプラグインにはそのような機能はありません。
なお、プラグイン自体をカスタマイズしていただいてもかまいません。

No.15 tsight : (無題)

はじめまして。MT4用のメールフォームを色々探してここにたどり着きました。早速利用させていただいております。解説導入方法が非常に分かりやすくスムーズに導入できました。ありがとうございます。

さて、ちょっとした問題が発生して悩んでおります。送信先を変更したところメールがそうしんできない状態になり、何が原因か特定できません。普段使用しているアドレスだと大丈夫なのですが、別のアドレスに変更した途端に送信できなくなる要素は何でしょう?分かる範囲で結構ですので教えて頂ければと思います。
よろしくお願いいたします。

No.16  : (無題)

>tsightさん
こんにちは。

メールサーバーによっては、不正中継を防ぐために、送信元のメールアドレスを限定するような仕組みが導入されています。その制限に引っ掛かっているのではないかと推測します。
詳しくは、サーバーの業者に問い合わせてみてください。


No.17 tsight : (無題)

壱様、
回答ありがとうございます。早速調べてみます。
今後とも勉強させて頂きます。ありがとうございました。

No.18 うしお : 質問します

メールフォームの提供ありがとうございます
質問なのですが、メールフォームの利用にあたって
メールサーバーの立ち上げは必要ないのでしょうか?
普通にホスティングサービスから提供されてるメールサーバ情報を
そのまま利用すれば良いってことでしょうか?
根本的な、フォーム自体についての質問でなくて恐縮ですが
質問させていただきました

よろしくお願いします

No.19 うしお : 質問します

メールフォームの提供ありがとうございます
質問なのですが、メールフォームの利用にあたって
メールサーバーの立ち上げは必要ないのでしょうか?
ホスティングサービスから提供されてるメールサーバ情報を
そのまま利用すれば良いってことでしょうか?
根本的な、フォーム自体についての質問でなくて恐縮ですが
質問させていただきました

よろしくお願いします

No.20  : Re:質問します

>うしおさん
こんにちは。

このプラグインは、MT本体が持っているメール送信機能を利用しています。
MTではコメントやトラックバックを受信したときに自分宛にメールを送ることができますが、その機能が正しく働いていれば、MTのメールの設定ができているはずですので、メールフォームプラグインも動作するはずです。

No.21 うしお : 詳しい解説ありがとうございます

ご丁寧なお返事ありがとうございます
本当に助かりました
役立たせていただきたいと思います
(質問を2度も送信してしまって済みませんでした)

No.22 scull : バージョンアップについて

Mail Form バージョン1.11を使用させていただいております。
最近こちらから入力されたと思われるゴミメールが目立つようになりましたので1.3にバージョンアップしたいと思いますが単純にファイルを上書きするだけで大丈夫でしょうか。

年の瀬に初心的な質問で大変申し訳ございませんが宜しくお願い致します。

No.23  : Re:バージョンアップについて

>scullさん
こんにちは。プラグインご利用ありがとうございます。

V1.30はMT3.3対応になっています。
この点をクリアしていれば、V1.11にV1.30を上書きすれば動作するはずです。

No.24 scull : ありがとうございました

壱様

迅速なご返答ありがとうございます。

これからも便利に使用させていただきたいと思います。
ありがとうございました。

No.25 TOKI : rsdとは?

はじめまして、今日プラグインを入れました。

再構築中に以下のメッセージが出るのですが
こちらのページで検索してみてもわかりませんでした。

-------------------------
テンプレート「mail_form:メールフォーム」の再構築中にエラーが発生しました: タグでエラーがありました: 'rsd'というテンプレートが見つかりませんでした。
-------------------------

最近MT4をさわり始めたものですから、頭が?マークだらけです。
教えて頂けると助かります。よろしくお願いします。

No.26  : Re:rsdとは

>TOKIさん
こんにちは。

RSDはMT標準のテンプレートの1つで、外部のソフトからブログに投稿するときの接続先CGI等の情報が記述されているものです。
いただいた症状からすると、RSDのテンプレートをご自分で削除されたのではないかと思います。

メールフォームのテンプレートには、RSDのアドレスの情報を入れるためのタグがあるため、RSDのテンプレートがないとエラーになります。
RSDを使わないのであれば、以下の手順でメールフォームのテンプレートからRSDに関するタグを削除してください。

1.「mail_form:メールフォーム」のインデックステンプレートを開きます。
2.テンプレート内の以下のタグを削除して、テンプレートを保存します。

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="<$MTLink template="rsd"$>" />

3.「mail_preview:送信確認」「mail_error:送信エラー」「mail_post:送信完了」の各テンプレートモジュールにも同様のタグがありますので、それらを削除します。

No.27 TOKI : ありがとうございます。

壱さん、こんにちは。
早速の回答をありがとうございました。

>RSDのテンプレートをご自分で削除されたのではないか
一緒にテスト環境を見ている別の人が
「誌面に必要ないテンプレート(RSDの名前あり)は削除するって書いてあった」
との事で削除した事がわかりました汗

別環境を作って見てみるとRSDテンプレートがありました!!
再構築も通りました。
メールフォームのページも開けました・・・が送信でエラーが汗2

まだまだ頭の中は?マークです(苦笑)
頑張ります。

No.28 スコールズ : 2つのメールフォーム + メール題名を別名に

はじめまして。
Mail Form 1.30 プラグイン、快調に活用させていただいております。
ありがとうございます。

さて、2つのメールフォームを作り、それぞれに受信するメール題名を別名にしたい
のですが、どうしたらよいでしょうか? 当たり前なのですが、いまのところ、プラ
グイン一覧ページで設定したものが共用されてしまいます。

題名設定は、MTのプラグイン一覧ページで
「送信先のメールアドレスの規定値」
「自動返信時の送信元のメールアドレスの規定値」
「メールの題名の前に付加する文字列」
の3つ目で設定しております。

(思案中)
・2つのメールフォームのインデックステンプレート作成
・mt > plugins > mailform フォルダ とは別に
2つめ用として、mt > plugins > mailform2 フォルダ を作成(内容は同じ)
・プラグイン一覧ページ >「メールの題名の前に付加する文字列」は空欄にして
・題名パラメータ(mf_prefix?)の受渡プログラムを修正?(MailForm.pl のどこか?)

といったところで、試行錯誤が続き、うまく解決できておりません。
ご助言いただければ、助かります。
よろしくお願いいたします。

No.29  : Re:2つのメールフォーム + メール題名を別名に

>スコールズさん
こんにちは。

ご質問の件ですが、申し訳ありませんが、1.30ではメールフォームごとにタイトルを変える機能はありません。
どうしても必要ということであれば、有償で対処させていただきます。

なお、MT4以降をお使いであれば、メールフォームプラグインV2.1をお使いになることをお勧めします。
V2.1には、メールフォームごとにタイトルを変える機能があります。

No.30 スコールズ : (無題)

早速のご回答、どうもありがとうございます。
それでは、v2.1 を検討させていただきます。
今後ともよろしくお願いいたします。

No.31 こもみ : (無題)

私も最近触り始めたばっかりでかなり混乱しています。
コメントなどの情報も参考にしてがんばってみようと思います。

コメントする