20070209

MovableTypeのサイドバーにメールフォームを設置する

ま、ごちゃごちゃと昨日書いたんですけども、もっと簡単に実現可能なようにプラグインっぽいものを作成してみました。

ダウンロード

使い方

ダウンロードした圧縮ファイルを解凍すると "mt_de_mail.cgi" というファイルが生成されます。こいつをテキストエディターで開き
 ・Perlへのパス
 ・sendmailへのパス
 ・送信先メールアドレス
 ・送信後に戻るURL
をそれぞれ設定してやります。

設定がおわったら "plugins" ディレクトリに "mt_de_mail.cgi" をアップ。お約束ですが転送モードはASCII、パーミッションは705(or755)。

コレだけで準備は終了。あとは直接テンプレートにメールフォームのソースを書きこんでやればOKですよ?
ちなみに、フォーム内で扱える "name値"は

・name="name"    :送信者名
・name="from"    :送信者アドレス
・name="subject" :件名
・name="comment" :メール本文

以上の4つです。添付ファイルは残念ながら送れません。

<!-- ■テンプレートへの記述例  -->

<h2>メールフォーム</h2>
  <div class="link-note">
    <form method="post" action="<$MTCGIPath$>plugins/mt_de_mail.cgi">
      <p>
        <label for="name">お名前</label><br />
        <input id="name" type="text" name="name" /><br />
        <label for="from">メールアドレス</label><br />
        <input id="from" type="text" name="from" /><br />
        <label for="subj">タイトル</label><br />
        <input id="subj" type="text" name="subject" /><br />
        <label for="comm">メッセージ</label><br />
        <textarea id="comm" name="comment"></textarea><br />
        <input type="submit" value="送信" />
      </p>
    </form>
  </div>

"送信者名" "件名" "送信者アドレス" は未入力でも送信可能(フォームが存在しなくても構いません) 但し "メール本文" はイタズラ防止の意味で、未入力だと送信できない仕様になっております。
その他細かいことは "mt_de_mail.cgi" 本体に何気に記載してありますので、そちらを参照なさってください。

これで、サイドバーだろうとどこだろうとメールフォームの設置は思うがままですよ。
Unicode(UTF-8)対応のメール送信スクリプトは設置が面倒なのでブログのページ内にメールフォームを設置するのを諦めていた方も、これなら簡単気軽に導入できるかと思います。

改造小ネタ

自動返信機能を追加してみる
MT_de_mailでhtmlテンプレートを使用する
メール送信者のIPアドレスやホスト名を収集してみる
メールアドレスを必須入力事項にしてみる

[CLAP]

トラックバック

このエントリーのトラックバックURL:
http://magokorokikaku.com/mt/mt-tb.cgi/46