お知らせ
2008年1月11日
拙著新刊の「ブログ簡単パワーアップ FC2ブログスーパーカスタマイズテクニック」が発売されました。
FC2ブログのさまざまなカスタマイズ方法を解説しています。
FC2ブログユーザーの皆様はぜひお買い求めください。
他にも多数書籍を執筆しています。
こちらもぜひご覧ください。
メールフォームプラグインV1.30(その1・概要)
2008年1月31日
Movable Type 4.1用にメールフォームプラグインバージョン2.0を公開しました。
Movable Type用のメールフォームプラグインをバージョンアップしました。
以下の機能を追加しています。
- メール送信をログに記録
- 連続送信防止
- IPアドレスによるブロック
- Movable Typeのスパム対策機能に対応
- チェック必須のチェックボックスの作成
なお、今回のバージョンから、Movable Type 3.3以降専用とさせていただきます。
1.インストール/アップデート手順
まず、以下をクリックして、ファイルをダウンロードします。
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
ファイルを解凍すると「MailForm」というフォルダができます。
Movable Typeの「plugins」ディレクトリに、そのフォルダを丸ごとアップロードします。
今回のバージョンでは、Movable Type 3.3の日本語対応機能を利用していますので、ファイルをアップロードする際に、文字コードをMTに合わせずに、元のまま(utf-8)でアップロードしてください。
アップロードが終わったら、「plugins」→「MailForm」→「mt-mail-form.cgi」ファイルのパーミッションを変えて、実行可能に設定します。
なお、このプラグインを新規にインストールした場合は、V1.20と同様の手順で、メールフォームのテンプレートの作成などを行う必要があります。
手順は以下の各エントリーを参照してください。
- メールフォームプラグインV1.20(その1・概要とインストール)
- メールフォームプラグインV1.20(その2・サンプルメールフォーム)
- メールフォームプラグインV1.20(その3・基本的なメールフォームのテンプレート)
- メールフォームプラグインV1.20(その4・送信前確認等のテンプレート)
- メールフォームプラグインV1.20(その5・テキストの入力欄の追加)
- メールフォームプラグインV1.20(その6・チェックボックスの追加)
- メールフォームプラグインV1.20(その7・ラジオボタン/セレクトの追加)
- メールフォームプラグインV1.20(その8・入力エラーのチェック)
- メールフォームプラグインV1.20(その9・自動返信)
- メールフォームプラグインV1.20(その10・メール本文のカスタマイズ)
- メールフォームプラグインV1.20(その11・メールフォームのAjax化)
- メールフォームプラグインV1.20(その12・サイドバー用Ajaxメールフォーム)
2.メール送信をログに記録
メールが送信されたときに、そのことをMovable Typeのログに記録します。
システム・メニューのログのページで、ログを見ることができます。
3.連続送信防止機能
同じIPアドレスからメールが連続送信された場合、直前の送信から1分以上経過しないと、送信エラーページを表示するようにしました。
送信ボタンを間違って何度も押してしまった場合に、メールが複数回届くことを防ぐことができます。
また、スパムメールが同じIPアドレスから連続して送信されるのを防ぐのにも役立ちます。
なお、送信エラーページに、「連続送信された」というエラーメッセージを表示することができます。
この手順は明日解説します。
4.IPアドレスによるブロック
Movable Typeには、「禁止IPアドレス」という機能があります。
この機能は、特定のIPアドレスからのコメント/トラックバックが送信されたときに、エラーの扱いにする機能です。
この機能を利用して、特定のIPアドレスからメールが送信されたときに、送信エラーページを表示することができるようにしました。
禁止IPアドレスの機能を使うには、以下の手順を取ります。
- mt-config.cgiに「ShowIPInformation 1」の行を追加します。
- Blogの設定のページに「禁止IPアドレス」のタブが表示されるようになりますので、そのページで禁止したいIPアドレスを設定します。
なお、送信エラーページに、「禁止IPアドレスによって送信がブロックされた」というエラーメッセージを表示することができます。
この手順は明日解説します。
5.Movable Typeのスパム対策機能に対応
Movable Typeには、プラグインでスパム対策を行う機能があり、コメントやトラックバックのスパムを防ぐことができます。
この機能を利用し、コメント用のスパム対策プラグインをメールに適用して、スパムメールを防ぐことができるようにしました。
たとえば、拙作のNotJapaneseLookupプラグインを使うと、日本語を含まないメールをスパムとすることができます。
ただし、コメント/トラックバックの場合と処理が一部異なります。
コメント/トラックバックの場合、スパム対策プラグインに止められたコメント等は、Movable Typeのデータベースに保存され、保留または迷惑の扱いになります。
一方、スパム対策プラグインにメールが止められた場合は、送信エラーページが表示されるようにしています。
なお、送信エラーページに、「メールがスパムと判断された」というエラーメッセージを表示することができます。
この手順は明日解説します。
6.チェック必須のチェックボックスの作成
「チェック必須のチェックボックスを作れるようにして欲しい」という要望がありましたので、この機能も追加しました。
この使い方は明後日に解説します。
前後の記事
関連するエントリー(12件)
- メールフォームプラグインV1.20(その12・サイドバー用Ajaxメールフォーム)(2007年02月09日 09:27)
- メールフォームプラグインV1.20(その11・メールフォームのAjax化)(2007年02月04日 13:40)
- メールフォームプラグインV1.20(その10・メール本文のカスタマイズ)(2007年02月03日 10:22)
- メールフォームプラグインV1.20(その9・自動返信)(2007年02月02日 10:27)
- メールフォームプラグインV1.20(その8・入力エラーのチェック)(2007年02月01日 08:45)
- メールフォームプラグインV1.20(その7・ラジオボタン/セレクトの追加)(2007年01月31日 10:00)
- メールフォームプラグインV1.20(その6・チェックボックスの追加)(2007年01月29日 09:36)
- メールフォームプラグインV1.20(その5・テキストの入力欄の追加)(2007年01月28日 10:48)
- メールフォームプラグインV1.20(その4・送信前確認等のテンプレート)(2007年01月27日 11:00)
- メールフォームプラグインV1.20(その3・基本的なメールフォームのテンプレート)(2007年01月26日 08:56)
- メールフォームプラグインV1.20(その2・サンプルメールフォーム)(2007年01月25日 08:59)
- メールフォームプラグインV1.20(その1・概要とインストール)(2007年01月23日 11:10)
トラックバック(4件)
このブログ記事を参照しているブログ一覧: メールフォームプラグインV1.30(その1・概要)
このブログ記事に対するトラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/922.
当ブログは以前から自作のメールフォームを設置していて、時々ではありますがブログに書いてあることについての質問などをメール... 続きを読む
当サイトにメールフォームを設置しました。 今回、使用したのはThe blog o... 続きを読む
ウェブページの作成が可能になったので、ようやくメールフォーム作成に取りかかりまし... 続きを読む


コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
mailformを導入させていただいているのですが、下記のようなエラーが出てしまい、上手くPOST出来ません。
エラーが発生しました: Can't locate object method "translate_templatized" via package "MT::Plugin::MailForm" at lib/MailForm.pm line 54.
もし、よろしければ、ヒントなど教えていただけると助かります。
ではでは。
>Wanwanさん
こんにちは。
お使いのMovable Typeバージョンはいくつでしょうか。
なお、このエントリーの先頭にも書いてあるように、このプラグインはMovable Type 3.3以降専用です。
はじめまして。いつも本当に助かっています。
で、お知恵をお貸し願えませんでしょうか。
エントリーアーカイブの記事の最後尾にメールフォームへリンクを張り、「この記事について問い合わせる」とする形で、受ける側で、どの記事から問い合わせをしたのかが解るように、リンク元ページのurlやタイトル等の情報をパラメータとして渡し、フォームのページにも表示させたいのですが、こんな事って可能でしょうか。ぜひ実現したいのです。
宜しくお願い致します。
>toshiさん
こんにちは。
ご質問の件ですが、記事のタイトルを送信する場合だと、以下のような手順でできるはずです。
1.メールフォームのテンプレートの中に、以下のようなタグを入れます。
<input type="hidden" name="entry_title" value="<$MTEntryTitle$>" />
2.送信確認ページおよび送信エラーページのテンプレートで、記事のタイトルを表示する位置に、以下のようなタグを入れます。
<$MTMailPreviewExtParam name="entry_title"$>
3.送信確認ページおよび送信エラーページのテンプレートで、フォーム部分に以下のようなタグを入れます。
<input type="hidden" name="entry_title" value="<$MTMailPreviewExtParam name="entry_title"$>" />
4.メール本文のテンプレートに、以下のようなタグを入れます。
<$MTMailPreviewExtParam name="entry_title"$>
お返事ありがとうございます。
なるほど。すごく参考になります。
さっそく試してみたいと思います。
で、またご報告させて頂きます!
取り急ぎお礼まで。
お世話になります。mamyuと申します。
昨年個人ブログをMT4にバージョンアップしました。
久しぶりに、メールフォームで送信を試しましたら、
「スパムチェックによる制限のため、メールをお送りいただくことができません」
といいうメッセージが出てしまいました。
MailForm_1_30を入れなおしましたが、それでもうまくいきません。何かご示唆がいただければありがたいのですが。
よろしくお願い申し上げます。
すいません自己解決しました。
標準プラグイン『SpamLookup - リンク』が原因でした。
『SpamLookup - リンク』-『設定』 の、「リンク数」の最初のチェックボックスのチェックを外しましたら、送信できるようになりました。
No.6でご質問しましたtoshiです。
別の仕事が入り、少し時間が空いてしまいましたが、ご回答頂いた件、さっそく試してみました。
その結果ですが、また疑問点が出てきてしまいましたもので、お手数ですが再度教えて頂けませんでしょうか。
(コメント記事内ではMTタグを書き込めない設定のようですので、外側のカッコを外して記述しました)
■教えて頂いた以下の方法ですと・・・
input type="hidden" name="entry_title" value="$MTEntryTitle$" /
→メールフォーム内で$MTEntryTitle$を使うには、MTEntriesで前後をマークアップする必要がありますよね。また、それですと、このメールフォームに飛んできたリンク元のページタイトルが特定できないので、以下のようにしてみたんですが、うまく動作しないのです・・・。
1:リンク元のページ(エントリーアーカイブ)内に下記のソースを記述
form method="post" action="$MTBlogURL$cgi/mt/plugins/MailForm/mt-mail-form.cgi" name="mail_form"
input type="hidden" id="mail_entrytitle" name="mail_entrytitle" value="$MTEntryTitle$"
/form
2:メールフォームテンプレートのformタグ内で、下記の2つのソースを記述。
↓リンク元の記事名を入れる場所です。
$MTMailPreviewExtParam name="mail_entrytitle"$
input type="hidden" name="mail_entrytitle" value="$MTMailPreviewExtParam name="mail_entrytitle"$" /
上記のようにして、リンク元のエントリー内からタイトルをcgiに渡しておけば、メールフォームを開いた時に、任意の場所にタイトルが表示できるかと思ったのですが、うまくいきません・・・(値がカラになってしまいます)
やはりメールフォーム以外のテンプレートからデータを渡す事って、できないんでしょうか・・。
またまた長文すみません。どうかお知恵をお貸しください。
>toshiさん
こんにちは。
No.7でお答えしたことですが、一部勘違いがありました。
No.7は、エントリーアーカイブテンプレートにメールフォームを埋め込む場合の話です。
エントリーアーカイブページとメールフォームを別にしてリンクさせるとなると、やり方が違ってきます。
大ざっぱに言うと、以下のような手順になります。
1.メールフォームのテンプレートをPHP化します。
2.エントリーアーカイブテンプレートで、メールフォームへのリンクの部分に、以下のようなタグを入れます。
<a href="http://メールフォームのURL?entrytitle=<$MTEntryTitle encode_url="1"$>">メールフォーム</a>
3.メールフォームテンプレートで、フォーム部分に以下のようなタグを入れます。
<input type="hidden" name="entrytitle" value="<?php print(htmlspecialchars($_GET['entrytitle'])); ?>" />
壱さま
さっそくのお返事、感謝いたします。いつも有難うございます。
また、最初のご質問が言葉足らずでした。すみません。
やっぱりPHP化しないと駄目なんですね・・・orz
PHP、動かないのです・・・。
ならばやはり、最初に教えて頂いたように、メールフォームそのものをエントリーアーカイブに埋め込む形を検討してみようと思います。
ありがとうございました。大変勉強になります。