お知らせ

ブログ簡単パワーアップ FC2ブログスーパーカスタマイズテクニック2008年1月11日

拙著新刊の「ブログ簡単パワーアップ FC2ブログスーパーカスタマイズテクニック」が発売されました。
FC2ブログのさまざまなカスタマイズ方法を解説しています。
FC2ブログユーザーの皆様はぜひお買い求めください。

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

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

| コメント(10) | トラックバック(4)

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

Movable Type用のメールフォームプラグインをバージョンアップしました。
以下の機能を追加しています。

  • メール送信をログに記録
  • 連続送信防止
  • IPアドレスによるブロック
  • Movable Typeのスパム対策機能に対応
  • チェック必須のチェックボックスの作成

なお、今回のバージョンから、Movable Type 3.3以降専用とさせていただきます。

1.インストール/アップデート手順

まず、以下をクリックして、ファイルをダウンロードします。

MailForm_1_30.zip

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

ファイルを解凍すると「MailForm」というフォルダができます。
Movable Typeの「plugins」ディレクトリに、そのフォルダを丸ごとアップロードします。
今回のバージョンでは、Movable Type 3.3の日本語対応機能を利用していますので、ファイルをアップロードする際に、文字コードをMTに合わせずに、元のまま(utf-8)でアップロードしてください。
アップロードが終わったら、「plugins」→「MailForm」→「mt-mail-form.cgi」ファイルのパーミッションを変えて、実行可能に設定します。

なお、このプラグインを新規にインストールした場合は、V1.20と同様の手順で、メールフォームのテンプレートの作成などを行う必要があります。
手順は以下の各エントリーを参照してください。

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.チェック必須のチェックボックスの作成

「チェック必須のチェックボックスを作れるようにして欲しい」という要望がありましたので、この機能も追加しました。
この使い方は明後日に解説します。

トラックバック(4件)

このブログ記事を参照しているブログ一覧: メールフォームプラグインV1.30(その1・概要)

このブログ記事に対するトラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/922.

» ブログにメールフォームを設置(暇人STRのブログ)からのトラックバック

当ブログは以前から自作のメールフォームを設置していて、時々ではありますがブログに書いてあることについての質問などをメール... 続きを読む

» メールフォーム設置(テレポーテーションウェブログ)からのトラックバック

本体サイトのメールフォームについてどうしようかと悩んでいたところ、The blog of H.Fujimotoで公開されている メールフォームプラグインを... 続きを読む

» メールフォーム(MovableType用メールフォームプラグイン)(MovableTypeのススメ)からのトラックバック

当サイトにメールフォームを設置しました。 今回、使用したのはThe blog o... 続きを読む

» MT4でメールフォーム(猫派の読書空間)からのトラックバック

ウェブページの作成が可能になったので、ようやくメールフォーム作成に取りかかりまし... 続きを読む

コメント(スレッド6件,コメント10件)

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

No.4 Wanwan : (無題)

mailformを導入させていただいているのですが、下記のようなエラーが出てしまい、上手くPOST出来ません。

エラーが発生しました: Can't locate object method "translate_templatized" via package "MT::Plugin::MailForm" at lib/MailForm.pm line 54.

もし、よろしければ、ヒントなど教えていただけると助かります。


ではでは。

No.5  Author Profile Page: (無題)

>Wanwanさん
こんにちは。

お使いのMovable Typeバージョンはいくつでしょうか。
なお、このエントリーの先頭にも書いてあるように、このプラグインはMovable Type 3.3以降専用です。

No.6 toshi : ご教授ください

はじめまして。いつも本当に助かっています。

で、お知恵をお貸し願えませんでしょうか。

エントリーアーカイブの記事の最後尾にメールフォームへリンクを張り、「この記事について問い合わせる」とする形で、受ける側で、どの記事から問い合わせをしたのかが解るように、リンク元ページのurlやタイトル等の情報をパラメータとして渡し、フォームのページにも表示させたいのですが、こんな事って可能でしょうか。ぜひ実現したいのです。

宜しくお願い致します。

No.7  Author Profile Page: Re:ご教授ください

>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"$>

No.8 toshi : ありがとうございます

お返事ありがとうございます。

なるほど。すごく参考になります。
さっそく試してみたいと思います。

で、またご報告させて頂きます!

取り急ぎお礼まで。

No.9 mamyu : MT4にバージョンアップした影響でしょうか?

お世話になります。mamyuと申します。

昨年個人ブログをMT4にバージョンアップしました。
久しぶりに、メールフォームで送信を試しましたら、
「スパムチェックによる制限のため、メールをお送りいただくことができません」
といいうメッセージが出てしまいました。

MailForm_1_30を入れなおしましたが、それでもうまくいきません。何かご示唆がいただければありがたいのですが。
よろしくお願い申し上げます。

No.10 mamyu : 自己解決しました。

すいません自己解決しました。
標準プラグイン『SpamLookup - リンク』が原因でした。
『SpamLookup - リンク』-『設定』 の、「リンク数」の最初のチェックボックスのチェックを外しましたら、送信できるようになりました。

No.11 toshi : う~ん・・・

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に渡しておけば、メールフォームを開いた時に、任意の場所にタイトルが表示できるかと思ったのですが、うまくいきません・・・(値がカラになってしまいます)
やはりメールフォーム以外のテンプレートからデータを渡す事って、できないんでしょうか・・。

またまた長文すみません。どうかお知恵をお貸しください。

No.12  Author Profile Page: Re:う~ん・・・

>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'])); ?>" />

No.13 toshi : ありがとうございます。

壱さま

さっそくのお返事、感謝いたします。いつも有難うございます。
また、最初のご質問が言葉足らずでした。すみません。

やっぱりPHP化しないと駄目なんですね・・・orz

PHP、動かないのです・・・。

ならばやはり、最初に教えて頂いたように、メールフォームそのものをエントリーアーカイブに埋め込む形を検討してみようと思います。

ありがとうございました。大変勉強になります。

コメントする

管理者のみにコメントを送信したい場合は、「コメントを秘密にする」のチェックをオンにしてコメントを送信するか、メールフォームからメールをお送りください。

ブログ全体の感想など、この記事に直接に関係しないコメントは、ゲストブックにお気軽に投稿してください。


アーカイブ

ブログパーツ

ステータス