みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

procmailでの自動返信

PROCMAILを入れて、着信したメールに着信を確認する用にしたいと考えています。.Procmailrcの記入では、単純な転送等は問題なくできるのですが、自動返信が上手くいきません。書き方から良く分かっていないので、サイト上の情報を元に作ってみたのですが、返信されません。以下にソースを書きますので、添削等をどうぞよろしくお願いいたします。

[.procmailrc]
PATH=/usr/bin:/usr/sbin:/usr/local/bin
SHELL=/bin/bash
LOGFILE=$HOME/procmail.log
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR

:0 c
* ^Subject: info
* !^FROM_DAEMON
* !^X-No-Loop: sky@**.ac.jp
| (/usr/bin/formail -r -A "X-No-Loop: sky@**.ac.jp"
-A "Precedence: junk" ;
echo "Mail received at `date`[`date -u`]. --AUTO GENERATED--") |\
/usr/sbin/semd,ail -t

[procmail.logの記録]
(/usr/bin/formail: (/usr/bin/formail: No such file or directory
procmail: Skipped "-A "Precedence: junk" ; "
procmail: Skipped ""Mail received at `date`[`date -u`]. --AUTO GENERATED--") |\"
procmail: Skipped "/usr/sbin/semd,ail -t"
From ***@dj.pdx.ne.jp Wed Jun 15 18:17:56 2005
Subject: =?ISO-2022-JP?B?GyRCJUYlOSVIGyhC?=
Folder: /home/jorin/Maildir/new/1118827076.14422_0.mailsv 1223

投稿日時 - 2005-06-15 18:53:06

QNo.1451423

困ってます

質問者が選んだベストアンサー

「\」を次行に継続行があるとは認識してくれないのかな?

それでは、

| ( /usr/bin/formail -r -A "X-No-Loop: ***@***.ddo.jp" -A "Precedence: junk" ; echo "Mail received at `date`[`date -u`]. --AUTO GENERATED--" ) | /usr/sbin/sendmail -t

というように1行で記述するとどうなりますか?
 

投稿日時 - 2005-06-18 13:31:26

お礼

すっかり遅くなりまして申し訳ありません。
ようやく、本日質問していた内容が解決しました。結果としては、

どうやら、formailとsendmailのパスが間違っている(?)ようでした。(パスはあっているのですが、なぜかフルでパスを書くとダメで、コマンド名だけにするとうまくいきました)

あと、やはり1行で記述しないとうまくいきませんでした。
どうもありがとうございました。

投稿日時 - 2005-08-13 23:59:10

ANo.3

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

>:0 c
>* ^Subject: info
>* !^FROM_DAEMON
>* !^X-No-Loop: ***@***.ddo.jp
>| /usr/bin/formail -r -A "X-No-Loop: ***@***.ddo.jp"
>-A "Precedence: junk" ;
>echo "Mail received at `date`[`date -u`]. --AUTO GENERATED--" |\
>/usr/sbin/sendmail -t

上記は、以下のような感じかな?

:0 c
* ^Subject: info
* !^FROM_DAEMON
* !^X-No-Loop: ***@***.ddo.jp
| ( /usr/bin/formail -r -A "X-No-Loop: ***@***.ddo.jp" \
-A "Precedence: junk" ; \
echo "Mail received at `date`[`date -u`]. --AUTO GENERATED--" ) | \
/usr/sbin/sendmail -t
 

投稿日時 - 2005-06-17 11:33:55

お礼

ありがとうございます。添削していただいたように修正しましたが、ダメでした。メールは届きますが、着信通知メールは送信されませんでした。ログは以下の通りです。肝心の返信部分がskipされてしまう理由はどんなことが考えられるのでしょうか。

procmail: Skipped "-A "Precedence: junk" ; \"
procmail: Skipped ""Mail received at `date`[`date -u`]. --AUTO GENERATED--" )|\"
procmail: Skipped "/usr/sbin/sendmail -t"
From ***@dj.pdx.jp Fri Jun 17 15:14:16 2005
Subject: test
Folder: (以下略)

投稿日時 - 2005-06-17 15:21:15

ANo.1

procmailは以前使用した事がある程度で、現在使用していないのでアドバイス程度ですが。

-------8<-------
>/usr/bin/formail: No such file or directory

/usr/bin/formailなんてものはないと言ってますが、指定あってますか?

-------8<-------
>/usr/sbin/semd,ail -t



/usr/sbin/sendmail -t

では?
(/usr/sbin/sendmailが正しいかは別として)

-------8<-------
>* !^X-No-Loop: sky@**.ac.jp
>| (/usr/bin/formail -r -A "X-No-Loop: sky@**.ac.jp"

上記、メールアドレスsky@**.ac.jpは、たぶん参考にしたサイトの記述をそのまま書いてませんか?
つまり、自分のメールアドレスではなく他人のメールアドレスをメールヘッダに書いている事になってます。
ただ、sky@**.ac.jpがご自分のメールアドレスであるなら上記は忘れてください。

投稿日時 - 2005-06-16 11:26:17

補足

ありがとうございます。
/usr/bin/formailはありますが、 ( が入っていることで
(/usr/bin/formailなどは無いと言われているようです。その他の誤りについては、ご指摘の通りでした。以下に改めたものを張っておきます。もしよろしければ、もう一度添削願います。

[.procmailrc]
PATH=/usr/bin:/usr/sbin:/usr/local/bin
SHELL=/bin/bash
LOGFILE=$HOME/procmail.log
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR

:0 c
* ^Subject: info
* !^FROM_DAEMON
* !^X-No-Loop: ***@***.ddo.jp
| /usr/bin/formail -r -A "X-No-Loop: ***@***.ddo.jp"
-A "Precedence: junk" ;
echo "Mail received at `date`[`date -u`]. --AUTO GENERATED--" |\
/usr/sbin/sendmail -t

投稿日時 - 2005-06-16 23:25:27

お礼

引き続き、こちらにも記録を書かせていただきます。
やはりメールは届くものの、返信メールは配信されません。

[procmail.logの記録]
procmail: Skipped "-A "Precedence: junk" ; "
procmail: Skipped ""Mail received at `date`[`date -u`]. --AUTO GENERATED--" |\"
procmail: Skipped "/usr/sbin/sendmail -t"
From ***@dj.pdx.jp Thu Jun 16 23:24:14 2005
Subject: test
Folder: /home/jorin/Maildir/new/1118931854.18087_0.landisk 624

投稿日時 - 2005-06-16 23:42:36