1406786174 メール送信のCGIの設置についての質問です。

KDDIの法人用ホスティングサービスのサーバー内でホームページを立ち上げ、その中の「お問い合わせ」ページで問い合わせ内容をメール送信するようにしたくて、POST-MAILというフリーのCGIプログラムを入れたのですが、いろいろ試してみてもどうもうまくいきません。
詳細を書くので、どこが間違っているのか教えてください!

●toiawase.html 内の「送信ボタン」のhtml

<form name="form" id="form" action="./cgi-bin/postmail.cgi" method="post" enctype="multipart/form-data" >
<input type="submit" value=" 送 信 " >

●postmail.cgi と check.cgi の1行目
#!/usr/bin/perl

●init.cgi で書き換えた部分
・送信先のメールアドレス

・# 送信者へのメール返信
 # 0=no 1=yes
 $cf{auto_res} = 0;

・# 本体プログラム【URLパス】
 $cf{mail_cgi} = './cgi-bin/postmail.cgi';

・# ログファイル【サーバパス】
 $cf{logfile} = './cgi-bin/log.cgi';

・# セッションファイル【サーバパス】
 $cf{sesfile} = './cgi-bin/ses.cgi';

・# テンプレートディレクトリ【サーバパス】
 $cf{tmpldir} = '../postmail/tmpl';

・# 送信後の戻り先【URLパス】 
 $cf{back} = '../kyodo-toiawase.html';

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/08/07 15:00:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:sasada No.1

回答回数1482ベストアンサー獲得回数133

jquery-1.9.1.min.jpやら、bmp?ファイルやらがないというエラーですね。
これらのファイルを用意してやれば、この件は解決するのでは。

他4件のコメントを見る
id:sasada

ログファイルが'./cgi-bin/log.cgi'になってますが、cgi-bin自体が書き込み禁止になっている可能性があります。他の書き込みOKなディレクトリに設定するのが良いかと思います。あと、あらかじめファイルを作っておくのが吉かと。

2014/08/01 07:23:07
id:sasada

普通/cgi-bin/には更新ファイルは置きません。アタックに対して脆弱になるといけないから。で、/cgi-bin/フォルダ自体が書き込み禁止になってる可能性が有ります。
よって、ログファイルは、data/log.cgi等に置くのが適切かと存じます。

2014/08/06 21:22:35
id:gizmo5 No.2

回答回数504ベストアンサー獲得回数141

ポイント500pt

フリーの POST-MAIL という CGI プログラムというのは、こちらの CGI でしょうか。
http://www.kent-web.com/mail/postmail.html

ページの中ほどにパーミッションについて記載されていますが、一般サーバの方のパーミッションを設定して試してみてください。

他1件のコメントを見る
id:gizmo5

私が回答で書いた URL の POST-MAIL ということでよろしいのですね。
postmail.cgi だけではなく、他のファイルについてもページの指定に従ってパーミッションを設定してください。

今出ているエラーは、data/log.cgi のパーミッションを 666 にすることで出なくなると思います。

2014/07/31 22:34:49
id:gizmo5

済みません。logfile の配置場所を変更していたのですね。
data/log.cgi は cgi-bin/log.cgi に読み替えてください。

2014/08/01 09:36:17
id:yotaca No.3

回答回数427ベストアンサー獲得回数46

ポイント500pt

私は「KDDI シェアードプランACE」を使っているモノです。
このサーバー.htaccessの設定とかphp.iniの設定とかかなり細かくて厄介ですよね。
 
内容を見る限り私もパーミションの設定だとは思いますが、既に詳しく書かれている方が見えますので割愛します。
 
使われているメールソフトについては存じませんが、当方で行った対処方法を記載します。
 
1)フォームを設置しているディリクトリにphp.iniを配置する。
 通常上位のphp.iniを参照すると思うのですが、ディリクトリによっては参照していないようでしたので、php.iniを配置したところ、入力については上手く動作しました。
 
2).htaccessに下記2行を追加する。
 RewriteEngine On の直下に下記2行を追加したところ上手く送信できました。

 RewriteCond %{HTTP_HOST} ^(hogehoge\.com)(:80)? [NC]
 RewriteRule ^(.*) http://www.hogehoge.com/$1 [R=301,L]

うちのメールフォームはエラーログさえ出さずに、トップページ戻ってしまうという困った感じでしたので強制的にwww方へ飛ばしてエラーを回避しました。
 
ただし、これでは全てのURLにwwwがついてしまうので、落ち着いたらプログラムの見直しも含めて修正を行う予定です。
 
 
ちなみにウチで使っているプログラムはウチで配布しているメールフォームです。
説明書もなにもありませんが、よろしければお使いください。
http://www.hanamachi.com/?page_id=139

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません