メールフォームプラグインV2.2では、Movable Typeの管理画面上で、大半の設定を行うことができるようになっています。
今日は、サンプルのテンプレートセットを元に、メールフォームの設定を行って、基本的なメールフォームを動作させる手順を解説します。
1.設定の手順
メールフォームの設定を始めるには、対象のウェブサイトまたはブログのメニューで、「メールフォーム」→「新規」を選び、メールフォームの設定のページを開きます。
設定項目は多数ありますが、基本的なメールフォームであれば、「基本設定」の箇所を設定すればOKです。
各項目の設定内容は以下の通りです。
| 設定項目 | 設定内容 |
|---|---|
| 設定のタイトル | メールフォームにつける名前を入力します。 1つのブログで複数のメールフォームを扱う場合、それぞれのメールフォームに別々の名前をつけます。 |
| メールフォームの概要 | メールフォームの概要を入力します。 この欄は空欄でも構いません。 |
| 送信先のメールアドレス | メールフォームから送信されるメールの送信先メールアドレスを指定します。 初期値として、Movable Typeにログインしているユーザーのメールアドレスが設定されます。 |
| メールの題名 | メールフォームから送信されるメールの題名を指定します。 初期値として、「メールフォームからメールが送信されました」が設定されます。 |
| メールフォームテンプレート 送信確認テンプレート 送信エラーテンプレート メールフォーム共通部分 メール本文テンプレート | メールフォーム関連の各テンプレートの名前を選びます。 |
各項目の設定が終わったら、ページ末尾の「変更を保存」ボタンをクリックして、設定を保存します。
2.メールフォームテンプレートへのタグの追加
メールフォームを動作させるためには、メールフォームテンプレートに以下のようなタグを追加することが必要です。
<MTSetVar name="mail_setting" value="メールフォームの設定の名前">
メールフォームの設定を保存すると、設定のページが再度表示されます。
そして、「メールフォームテンプレート」の箇所に、「メールフォームテンプレートに、必須のMTSetVarタグを追加」というボタンが表示されます。
このボタンをクリックすると、上記のタグを自動的に追加することができます。
追加が終わったら、「閉じる」ボタンをクリックします。
3.メールフォームテンプレートの再構築
次に、メールフォームのテンプレートを再構築します。
「メールフォームテンプレート」の箇所に、「メールフォームテンプレートの再構築」のボタンがあります。
それをクリックすると、再構築が行われます。
4.メールフォームの動作の確認
ここまでで、メールフォームの設定は一通り完了です。
「メールフォームテンプレート」の欄の右にある「
」(メールフォームの表示)のアイコンをクリックすると、メールフォームが開きます。
メールフォームからメールを送信してみて、自分にメールが送信されることを確認します。
5.設定を変える
「メールフォーム」→「一覧」のメニューを選ぶと、メールフォームの設定が一覧表示されます。
その中で、設定を変えたいメールフォームの名前をクリックすると、設定のページを再度開くことができます。






![Hardcore Will Never Die, But You Will [Bonus Tracks] Hardcore Will Never Die, But You Will [Bonus Tracks]](http://userserve-ak.last.fm/serve/34s/67192634.jpg)



コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
メールフォームプラグインを利用させていただいております。
お世話になります。
とりあえず、設置まではできたのですが、テストで自分で送信してみたところ、メールが文字化けをしてしまいました。
わたくし、こういったことがまったくわかりませんで、メールソフトの関係かもと思い、文字コードをいじってみたりしたのですが変わりませんでした。
症状としましては、半角英数字の部分は正常に表示されるのですが、全角の部分が?で表示されてしまいます。
どうかご教授願えますでしょうか。よろしくお願いいたします。
>yuichiさん
こんにちは。
mt-config.cgiに以下の行を入れてみてください。
MailEncoding ISO-2022-JP
早速のお返事ありがとうございました。
無事に文字化けも無く送信ができました。
わたくし、ド素人でお恥ずかしい限りですが、今後ともよろしくお願いいたします。
当プラグインを利用させていただいております。
すでに運用中なのですが、機種依存文字だけが文字化けしてしまいます。
文字コードは全てUTF-8に統一しているつもりなのですが、どういった問題が考えられるでしょうか?
>まさるさん
こんにちは。
MT5の標準の設定では、メールの文字コードはISO-2022-JPに変換されます。その過程で、機種依存文字が変換できていないものと思われます。
mt-config.cgiに以下の行を追加して、メールをUTF-8で送信するようにすれば、文字化けを防ぐことができます。
MailEncoding UTF-8
ただ、メールソフトによってはUTF-8に対応していないこともあり得ます。特に、自動返信機能で相手の方にメールを送り返す場合は、MailEncodingの設定は変えない方が良いと思います。
基本的には、メールフォームでは機種依存文字を使わないことをお勧めします。
早速の返信ありがとうございます。
文字化けの原因よく分かりました。
おそらくプラグイン自体を修正しないとできないと思いますが、
メールアドレス形式の入力チェックと同じように、
機種依存文字の入力をチェックすることはできないでしょうか?
>まさるさん
こんにちは。
厳密な機種依存文字のチェックは難しいと思います。
ただ、UTF-8→ISO-2022-JP→UTF8と2回変換を行ってみて、元の文字列と変換後の文字列が一致しているかどうかでエラーチェックするぐらいであれば、できそうだと思います。
今後のバージョンアップで検討します。
小手先で修正できるものではなさそうですね。
次バージョンでの対応を期待しております。
ありがとうございました。
このプラグインを利用させていただいております。
お世話になります。
このページを参照して、メール送信し、
メール送信完了
test様、メールを送信いただき、ありがとうございました。
と表示されました。
ですが、実際にメール送信画面で入力した
メールアドレス宛てにメールが送信されません。
ちなみに、こちらの環境はFedora7です。
>てつこさん
こんにちは。
>ですが、実際にメール送信画面で入力した
>メールアドレス宛てにメールが送信されません。
メールフォーム上で、testさんとして入力したメールアドレスにメールが送られないということでしょうか。
そうであれば、自動返信をオンにしていただく必要があります。
メールフォームの設定のページに、「自動返信」という箇所があります。
以下の各項目を設定して、保存しなおしてください。
・「自動返信する」
チェックをオンにします。
・「自動返信時の送信元のメールアドレス」
自動返信メールの送信元となるメールアドレス(通常はご自分のメールアドレス)を入力します。
・「返信メールの題名」
自動返信メールの題名を入力します。
・「返信メールテンプレート」
自動返信メールの元となるテンプレートを選びます(通常は「返信メール」にします)。
壱さん
早速の返信、ありがとうございます。
ご回答頂いた箇所、
>以下の各項目を設定して、保存しなおしてください。
>・「自動返信する」
>チェックをオンにします。
以下(略)
等設定し、保存し直してみましたが、
送信されないのですが、、、
>てつこさん
MTにはコメント受信時などにメールで通知する機能がありますが、それらのメールは届いているでしょうか。
それらのメールも届いていないとすると、MT自体のメール設定や、サーバーのメール関係の設定の問題なので、それらの設定を見直していただく必要があります。
なお、通知メールは届いていて、メールフォームのメールが届かないとなると、申し訳ありませんが原因は不明です。
壱さん
ご回答ありがとうございます。
>それらのメールも届いていないとすると、MT自体のメール設定や、サーバーのメール関係の設定の問題なので、それらの設定を見直していただく必要があります。
サーバーを見直した所、無事メール送信がされました。
ありがとうございました。
MT4向けメールフォームを使用させていただいています。
お世話になります。
今回、MT5向けのV2.2を新たに使用させていただきたいのですが、
インストール後、テストメールを送ろうとすると、
「メールを送信することができませんでした。」というエラーが出てしまいます。
MT4向けの時と違って、今回はmtフォルダがcgi-binフォルダ内にできていて、
これが問題ではないかと思いますが、どのように設定したらいいのでしょうか?
インストールはcgi-bin/mt/に問題なくできたように思います。
よろしくお願い申し上げます。
>03さん
こんにちは。
plugins/MailForm/lib/MailForm.pmの420行目を以下のように書き換えた後にメールを送信してみて、どのようなエラーメッセージが表示されるかをお知らせください。
書き換え前
push @errmsg, $app->plugin->translate('Sending mail failed.');書き換え後
push @errmsg, $app->plugin->translate('Sending mail failed.') . ' : ' . MT::Mail->errstr;ご返答ありがとうございます。
教えていただいたとおり試してみました。
エラーメッセージは下記になります。
よろしくお願い申し上げます。
メールを送信することができませんでした。 : SMTPでメールを送信するにはMail::Sendmailをインストールする必要があります: Can't locate Mail/Sendmail.pm in @INC (@INC contains: /home/.sites/81/site18/web/cgi-bin/mt/plugins/MailForm/lib /home/.sites/81/site18/web/cgi-bin/mt/plugins/StyleCatcher/lib /home/.sites/81/site18/web/cgi-bin/mt/plugins/TypePadAntiSpam/lib /home/.sites/81/site18/web/cgi-bin/mt/plugins/WXRImporter/lib /home/.sites/81/site18/web/cgi-bin/mt/plugins/WidgetManager/lib /home/.sites/81/site18/web/cgi-bin/mt/plugins/mixiComment/lib /home/.sites/81/site18/web/cgi-bin/mt/plugins/Textile/lib /home/.sites/81/site18/web/cgi-bin/mt/plugins/feeds-app-lite/lib /home/.sites/81/site18/web/cgi-bin/mt/plugins/FacebookCommenters/extlib /home/.sites/81/site18/web/cgi-bin/mt/plugins/FacebookCommenters/lib /home/.sites/81/site18/web/cgi-bin/mt/plugins/spamlookup/lib /home/.sites/81/site18/web/cgi-bin/mt/plugins/MultiBlog/lib /home/.sites/81/site18/web/cgi-bin/mt/addons/Commercial.pack/lib /home/.sites/81/site18/web/cgi-bin/mt/addons/Community.pack/lib /home/.sites/81/site18/web/cgi-bin/mt/extlib /home/.sites/81/site18/web/cgi-bin/mt/plugins/MailForm/lib /home/.sites/81/site18/web/cgi-bin/mt/extlib ../../lib lib /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .) at ../../lib/MT/Mail.pm line 119.
>03さん
エラーメッセージからすると、お使いのサーバーにMail::Sendmailモジュールがインストールされていないようです。
可能であれば、サーバーの業者にインストールを依頼してください。
また、業者がインストールしてくれない場合は、以下の手順を取ってみてください。
1.以下のアドレスからMail::Sendmailのモジュールをダウンロードし、ファイルを解凍します。
http://search.cpan.org/CPAN/authors/id/M/MI/MIVKOVIC/Mail-Sendmail-0.79.tar.gz
2.MTのディレクトリの中の「extlib」ディレクトリに「Mail」というディレクトリを作ります。
3.2.のディレクトリの中に、1.で解凍したファイルの中の「Sendmail.pm」ファイルをアップロードします。
ご返答ありがとうございます。
教えていただいた方法で、無事、動作確認することができました。
本当に助かりました!
ありがとうございました。
はじめまして
メールフォームを使わせていただこうと今MTと古今奮闘中の者です。
一通り完了したので、確認してみたのですが
IEではフォーム自体に書き込みが出来たのですが
Firefoxではフォーム自体に書き込みが出来ませんでした。
もう一度初めからやってみたのですが
2回目も同じでした。
また、MTのVerは5.01ですが
バージョンの問題でしょうか?
>JETCATさん
こんにちは。
そちらのメールフォームを拝見しましたが、本来サイドバーに表示される部分がメールフォームの下に落ちています。
また、落ちているサイドバーの部分をFirebugで調べたところ、その部分がメールフォームの上に重なった状態になっています。
スタイルシートに何らかの手を加えているようですが、それが原因で上記のような現象が起こっていると思いますので、スタイルシートを見直してみてください。
壱さん
早速のお返事ありがとうございます!
実はスタイルシートでフッターを下に配置する方法をしているので、それかもしれません。
修正してみます!
どうも、ありがとうございます。
現在設置中で、再構築エラーが出てしまいました。
発生個所は、このページの「3.メールフォームテンプレートの再構築」の場所です。
メールフォームテンプレートの再構築ボタンを押すと下記のエラーが表示されます。
テンプレート「rebuild_mail_form.tmpl」の再構築中にエラーが発生しました: <mtif>タグでエラーがありました: <mtelse>タグでエラーがありました: <mtapp:statusmsg>タグでエラーがありました: <MTSetParamList>は存在しません(2行目)。
バージョンは5.031です。
お手数をおかけいたしますが、アドバイスをいただければ
幸いです。
>FUJIさん
こんにちは。
おそらく、GetQueryParamプラグインをインストールしていないと思います。
以下の手順でインストールしてください。
1.以下からGetQueryParamプラグインをダウンロードします。
http://www.h-fj.com/mt_plugin/GetQueryParam_1_14.zip
2.ダウンロードしたZipファイルを解凍します。
3.解凍してできた「plugins」フォルダを、Movable Typeのインストール先ディレクトリにアップロードします。
壱さん
おはようございます。
あまりに早いご返答ありがとうございます!
時間差を見てびっくりしました。
いただいたアドバイス通りの対処で無事に再構築ができました。
心より感謝申し上げます。
はじめまして
便利そうなので使わせいただこうと思い、悪戦苦闘中です。
メールフォームの表示をして、確認ボタン、あるいは送信ボタンをクリックすると
Movable Type
エラーが発生しました。
「設定を読み込むのに失敗しました」
と表示されます。
どこをチェックしたらよいでしょうか?
>まりりんさん
こんにちは。
この記事の「2.メールフォームテンプレートへのタグの追加」と「3.メールフォームテンプレートの再構築」の作業が抜けていないかどうか確認してください。
それでもエラーが出るときは、メールフォームの設定名を半角英数字だけに変えて、2と3をやり直してみてください。
壱さん
>「2.メールフォームテンプレートへのタグの追加」と「3.メールフォームテンプレートの再構築」の作業が抜けていないかどうか確認してください。
うまく読み込めていなかったようです。
再度やってみたら次に進めました。
入力必須項目がブランクの時にメッセージが表示されないのはどこをチェックすればいいでしょうか?
お名前、メールアドレスといった初期設定の項目でチェックされません。
>まりりんさん
こんにちは。
メッセージが表示されなかったのは、送信確認の時点ではないでしょうか。
入力必須項目がブランクであっても、送信確認の段階ではエラーチェックを行わない仕様になっています。エラーチェックは、送信ボタンをクリックした時点で行います。
わかりました。
表示の仕組みが理解できました。
ありがとうございました
お世話になります。メールフォームプラグインを利用させていただいております。
メールフォームの基本テンプレートをアーカイブテンプレートに設定し、各ブログ記事ごとに吐き出そうと考えております。
まずメールフォームテンプレートをブログ記事用にカスタマイズし、保存しました。その後メールフォームの設定画面から該当のテンプレートを対応させたいのですが、インデックステンプレートでないためでしょうか、プルダウンメニューから選択できません。
以前、MT4.2とメールフォームプラグインV2.1の組合せで検討した際には設定できたのですが、V2.2+MT5でも同じようにアーカイブテンプレートをメールフォームとして設定する方法はございますでしょうか?
よろしくお願いいたします。
>ルースケさん
こんにちは。
アーカイブテンプレートをメールフォームテンプレートとして設定する機能は、元から(V2.1でも)ありません。
ただ、手で作業すれば、アーカイブテンプレートにメールフォームを組み込むことも可能です。
その方法は明日の記事で解説します。
特殊な使い方の質問にお答えいただいてありがとうございます。
わざわざ記事を書いていただけるとのことで、恐縮ですが、とても助かります。
楽しみにしておりますので、よろしくお願いいたします!
ダウンロードさせていただいて、入れたのですが、↓を入れるとエラーが出て、構築できません。
<MTMailPreviewIfEMailDifferent>メールアドレスが一致していません。</MTMailPreviewIfEMailDifferent>
MTは、mtos5.04 です。
入れ方がまずいんでしょうか?
>どうださん
こんにちは。
エラーが出たとのことですが、具体的なエラーメッセージをお知らせください。
お世話になっております。
先日メールフォームを購入し導入したところ、最初の入力画面までは実装することができました。しかし、そこから先の「確認画面」や「送信完了画面」に移動するとデザインが崩れてしまいます(CSSやjavascriptが効いていない模様です)。メールを受信する事はできているためフォーム自体は機能しているようなのですが、デザインが崩れるという原因は何が考えられるでしょうか。
>バイセッパさん
こんにちは。
ご質問の件ですが、問題が起こっているメールフォームを見せていただくことはできないでしょうか。
>バイセッパさん
こんにちは。
メールフォームを拝見しました。
スタイルシートやJavaScriptを相対パスで読み込んでいるのが原因だと思います。
メールフォームの最初のページは、通常はブログのディレクトリの配下に出力されます。
一方、送信確認等のページはMT/plugins/MailFormディレクトリのCGIによって出力されるので、ブログのディレクトリとは異なるディレクトリになります。
スタイルシートやJavaScriptを絶対パスで読み込むように修正すれば、正しく動作すると思います。
藤本様、お世話になっております。
絶対パスに直したところデザインが適用されました。
素早い対応とご指摘ありがとうございました。
お世話になっております。
No.28さんと同じ症状なのですが、
出来上がったメールフォームで送信、または確認ボタンを押すと以下のエラーメッセージがでます。
「エラーが発生しました。
設定を読み込むのに失敗しました」
と出てしまいます。
・SetVarタグは正しく入力されています
・テンプレートの再構築は問題なくできます
・メールフォーム共通部分の〜内に
" />
が記述されています。
・出来上がったメールフォームには
と記述されているのでSetVarは動作していると思われます。
・設定のタイトルには半角英数字を使用しています。
・新規ブログを作成し、そこに新規メールフォームを作成しても同様の症状がでます。
もし思い当たる原因があれば助言いただければ幸いです。
よろしくお願いします。
>Rockfieldさん
こんにちは。
申し訳ありませんが、そちらの環境で動作を追ってみないと、原因は分かりません。
壱さま
こんにちは。ご返信ありがとうございます。
2ヶ月前ほどまでは問題なく作動していたようなのですが、気がつくとエラーが出るようになっていたのですよね・・・。
ちなみにファーストサーバと言う会社のホスティングを使用しています。
いままでmtや他のサービスを使う上で色々とうまく行かないことがあったのでもしかすると関係があるかもしれません。
どうもありがとうございました。