2004年12月15日

メールフォーム修正

どうにかこうにか修正完了しました。
メールフォームでUTF-8に対応していているものの少ないこと、少ないこと。
こちらのものを設置させていただきました。
CGI Laboratoryさま

<設置方法詳細>
まずはCGI Laboratoryさんの、FormdecodePlusをダウンロードし、解凍ソフトで解凍します。
同梱されている「readme.txt」ファイルを読めばだいたい分かると思いますが、一応修正箇所をかいつまんで書いておきます。

sendmailを使用して極力変更しない方向で改造してみましょう。
動くのを確認してからファイル名などは変更した方がいいかもしれません。

まず「cgi-bin」フォルダ内の「formdecode.cgi」。(これ以外は御自分の好きなように設定してくださいね)

#------------------------------------------------------------------------
# 設定が必要な定数など
#------------------------------------------------------------------------
# ■ メール送信方法 (0: sendmail, 1: SMTP)
$MAILMETH = 0;
#
# ■ sendmailのパスとオプション ($MAILMETH = 0 の場合)
$SENDMAIL = '/usr/sbin/sendmail -t -oi';←自分のサーバーのsendmailのパスにしてください
#
# ■ ドキュメントルートURLを指定。最後に"/"は付けない。
$HOME_URL = 'http://luna.s60.xrea.com';←ここをフォームを設置するサイトのURLを書きます
#
# ■ フォーム定義とテンプレートの設置場所指定。
# 0: フォーム毎の専用ディレクトリに置く
# 1: 呼出しHTMLと同じディレクトリに置く
$TMPL_PLACE = 0;←フォーム定義(default.conf)とテンプレートをどこに置くかということです。
#
# ■ URL→パス変換のための設定。最後に"/"は付けない。
# $TMPL_PLACE = 0 の場合
# スクリプト設置ディレクトリからテンプレートを置くルートディレク
# トリまでの相対パス、または絶対パスを指定する。実際にはここで
# 指定したパス直下のフォーム名のサブディレクトリ以下に格納する。
# $TMPL_PLACE = 1 の場合
# スクリプト設置ディレクトリからドキュメントルートまでの相対パス
# または絶対パスを指定する。
$HOME_PATH = '../..';
#
# ■ 内部処理文字コード(sjis/euc/jis/utf8)※HTML出力コードと同じが効率的。
$PROGCODE = 'utf8';←ここが一番のポイント
#

さて次に、「conf」というフォルダの中にある「default.conf」を修正します。
これもわたしが設定したところだけです。

#---------------------------------------------------------------------
# (1) 設置環境と利用制限の設定
#---------------------------------------------------------------------
# ■ HTML画面出力の文字コード指定 (sjis/euc/jis)
HTML_CODE = sjis
#
#---------------------------------------------------------------------
# (2) メールアドレスの設定
#---------------------------------------------------------------------
# ■ (To:) 宛先アドレス。
MAIL_TO = xxx@yyy.com←メールを受け取るアドレスにしてください
#
#---------------------------------------------------------------------
# (3) フォーム送信の設定
#---------------------------------------------------------------------
# ■ 送信完了ページ指定
ACCEPT_HTML = ''
ACCEPT_URL = 'http://luna.s60.xrea.com/'←メール送信後トップに戻るようにしてあります
#
# ※両方指定した場合は ACCEPT_URL を優先する。
# ■ オーナ宛てメールの差出人 [ 0:送信者を使用, 1: オーナを使用 ]
SEND_MAIL_FROM = 0←送られてくるメールのFromのアドレスです
#

とりあえずこんなもんで修正はOKかと。あとはファイルを全部アップロードしてください。
画像データ以外はアスキーモードで、cgiのパーミッションもサーバー推奨のものに変更してください。

で次にテンプレートの方の修正です。
一番下のテンプレートモジュールに「form」というのを追加してください。
書くソースは、

メール送信用フォーム
<form method="post" action="フォームそのもののURL">
<INPUT type="hidden" name="_subject" value="メールのタイトル">
Name:<INPUT type="text" name="name" size="16"><BR/ >
Mail:<INPUT name="email" type="text" id="email" size="16"><BR/ >
URL:<INPUT name="url" type="text" size="16" value="http://"><BR/ >
Message<BR/ >
<TEXTAREA NAME="comment" ROWS="3" COLS="16"></TEXTAREA><BR/ >
<INPUT TYPE="submit" VALUE="Send">
</form>

それで埋め込みたいメインインデックスに、
<$MTInclude module="form"$>
と書込めばOKのはず。

まずはフォームを設置するところから少しづつ段階を踏んでやることをおすすめします。

Posted luna : 2004年12月15日 18:04 | MTに組み込むCGI

TrackBackPings

トラックバックを何回もやっても気にしないでいいですよ。こちらで削除しますので。

TrackBack URL>>

メールフォーム修正へのトラックバック一覧

» メールフォーム設置成功!あーんど from PHAT∴LOVESICK(on: 2004年12月17日 12:39)

うっほうっほ!とうとうでけました。メールフォーム!お世話になりっぱなし Play... READ

» メールフォーム設置 from 華氏451度(on: 2005年03月27日 19:52)

いままではそのままメールアドレスをサイドメニューにのせていたんですが、スパムが多くて大弱り。 「迷惑メール撲滅」を参考に、送信元のネット業者やメールに書いてある... READ

Comments

コメント一覧

無事に設置できました!動作確認もバッチリです(嬉)
こんなに詳しく書いて下さって、本当に助かりました!

確かに、サイト内の事はサイトの中だけで。
そう思う気持ちは私にもありますが、非難などではなくて、
エントリーの誤字脱字を教えて下さる親切な方々もいらっしゃいます。
そういった類の事は、こちらがいくらコメント欄に書かれても平気と思っていても、
相手が躊躇されてしまう事もありますしね。
私などはそそっかしいので(苦笑)今までもメールからの指摘が本当に助けになったんです。

今回も設置できて良かった! 本当にお世話になりました♪

by YOKO : 2004年12月17日 18:50

無事に設置できて本当によかったです。(感涙)
メールアドレスを公開すると、SPAMがいっぱい来ますから、普段はわたしもメールフォームを愛用しているんですよ。

今度時間があったら、サイドバーに組み込めるCGIスクリプトをまた探してきたいと思ってます。

by luna : 2004年12月18日 10:25




保存しますか?