プロが教える店舗&オフィスのセキュリティ対策術

電子メールによって掲示板へ記事の投稿ができるモジュールをWEBで見つけ、設置したいと思うのですが、.procmailrcのレシピの書き方がいまひとつわかりません。
procmail を使って、アドレスを転送する事は出来たので、.forwardは間違っていないと思うのですが・・、
解説には、

.procmailrc
:0 Hw
* ^[Tt]o: .*(投稿用メールアドレス)
|$HOME/(設定パス)/ir-post.pl
となっていましたので、

:0 Hw
* ^[Tt]o: .*wa-gire@
|$HOME/www/cgi/ir-post.pl
にしてみたのですが、動作しません;;

logファイルには、
/home/1/./wa-gire/www/cgi/ir-post.pl: 20: Syntax error: "(" unexpected

となってしまします。
FTPで接続しますと、自分のホームディレクトリーの上は、1 というディレクトリーがあって、他のユーザーの方の名前が並んでいます。
さらにその上がhomeになっているようです。

/home/1/の次の ./ が無くなれば良いような~??気がするのですが・・
良いレシピの書き方を教えて下さいませんか。
良きアドバイスをお願いします。。_(_^_)_

A 回答 (3件)

気になった点をいくつか・・・


ir-post.plの漢字コードがsjisになってます
通常、UNIXのperlは漢字コードがEUCでないとうまく動かない場合があるので
UNIX上のnkfコマンドか、何らかのツールを使ってEUCコードにしてみてください

後、telnetでログインした後、
perl --version
と打ってみてください
perlのバージョンが表示されると思うのですが、versionは5以上になってますか?

あとは・・・
:0 Hw
* ^[Tt]o: .*wa-gire@
|$HOME/www/cgi/ir-post.pl
この最後の行の部分を
|/usr/local/bin/perl $HOME/www/cgi/ir-post.pl
としてみてください
これでも駄目だったら・・・手元にその環境が無いと、ちょっと私では対処しきれないと思います・・・
    • good
    • 0
この回答へのお礼

ほんとうにありがとうございます、
出来たんです~
昨日もさんざん悩んでいて、でもよくみれば、jcode.plが壊れていたり、mimer.plをダウンロードするときにhtml形式でダウンロードしてたり、初歩的なミスが多かったんですね(へへ;;)
最後はjcode.plのパスをhome/1/wa-gire/www/cgi/jcode.plにしてやったらメールが送られていったので、ぉぉ~っとおもって、まぁこれでいっかぁ~しめしめ~と思っていました。ご報告が遅れてすみませんでした。
またなにかあると恐いので、jcode.plをEUCコードで保存してアップロードしてきました。
本当にありがとうございました。感謝しております。m(_ _)m

お礼日時:2001/03/15 09:09

ソースを見てみた所、perl構文としては正しい記述でした


もしかして・・・と思いbashにスクリプトとして食わせてみた所、20行目でエラーが出ました
ir-post.plの一行目に
#!/usr/bin/perl
と記述してありますが、その場所にperlコマンドはおいてありますか?
多分無いと思いますので、そこの記述をちゃんとperlコマンドのある場所に書き換えてやる必要があります

設置するサーバにtelnetでログインしてコマンドプロンブトで
which perl
とするか
type perl
とすればperlコマンドの場所が表示されますので、その場所に合わせてir-chat.plの一行目を書き換えてください


ちなみに行数の数え方ですが、ファイルをエディタ等で開いて最初の行が一行目、その後、改行されるたびに2行目、3行目と増えていくのが論理行(大体はこの数え方です)。もう一つ表示行と言う数え方があって、こちらは表示画面で表示されている行毎に一行ずつ、数えます。

この回答への補足

ご親切に感謝します。ありがとうございます。
which perlとしてみたところ、/usr/bin/perl でしたが、
お借りしているサーバー(さくらWEB)では、/usr/bin/perl でも/usr/local/bin/perlでもどちらもで、良いような説明でしたので、
他に使っているcgiと合わせて/usr/local/bin/perlにしてみました。
でも、だめです~涙
telnetで/usr/local/bin/perl -c ir-post.plとしてみたら、ir-post.pl syntax OKでした。何が悪いのかさっぱりわからなくなってしまいました~
なにか、ヒント!注意点はないでしょうか?
エラーしたときのlogをのこしてゆきます。お暇なときでよろしいですので、宜しくお願いします。

my: not found

: not found

: not found
/home/1/./wa-gire/www/cgi/ir-post.pl: 20: Syntax error: "(" unexpected
procmail: Program failure (2) of "/home/1/./wa-gire/www/cgi/ir-post.pl"
From katochan@horae.dti.ne.jp Wed Mar 14 10:00:58 2001
Subject: 959
Folder: mailbox

補足日時:2001/03/14 10:13
    • good
    • 0
この回答へのお礼

度々お返事いただき、ありがとうございます。
まだ設置できずにもやもやしておりますが、
素敵なプログラムなので、なんとか、モノ(笑)にしてみたいと~
いろいろ勉強しながら頑張ってみます。
もしまた、ヒントなどありましたら宜しくお願いします。
本当にありがとうございました。

お礼日時:2001/03/14 10:41

>logファイルには、


>/home/1/./wa-gire/www/cgi/ir-post.pl: 20: Syntax error: "(" unexpected

これってir-post.plの方が間違ってるとログをはいてると思うんですが・・・
ir-post.plの20行目にエラーがあるようですので確認してみてください

この回答への補足

ありがとうございます。一歩前進出来ました。
ir-post.plの20行目の数え方がよくわからない私ですが、(すみません)
たぶん自分で設定し直す辺りで・・
自分で直したところは、$email_from = 'wa-gire@wa-gire.com';
の行だけですが、何か書き足りないでしょうか?

# 受信メールの最大バイト数
$email_max = 102400;
# From欄
$email_from = 'wa-gire@wa-gire.com';
# Sender欄
$email_sender = '';
# Reply-To欄
$email_replyto = '';
# メールサーバーの妥当性をチェックするか?
$check_mail_server = 1;

もし良かったら
http://www.wa-gire.com/cgi/ir-post.pl
チェックして下さいます?

補足日時:2001/03/11 10:23
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!