Procmail?(長文)


[ コメントを書く ] [ BBS ] (PR) [レンタルサーバー]

1998-2-11 22:50:30 hoge

久しぶりにAutoReplyメールを設定しようと思い、以前から使っていた
[.procmailrc]をいじったら、これが全く動かなくなってしまっていました(^^;)

妙だと思い、色々試した挙げ句にdigiwebのaccountmanagerに
行って、Mailの設定を覗いてみると、
「あんさんのオートリプライは設定されてまへん!」と言うメッセージが!
(当然英語で書かれてます(^^;)

で、なんだか分からないままにaccountmanagerでオートリプライの設定を
すると...自分のルートディレクトリに「auto_reply」というディレクトリが
作られて、その中に1つのユーザーアカウント(自分の設定した宛先)に対して
以下の4つのファイルが作られていました。(info@MYDOMAINがオートリプライ先)

/~auto_reply/
.ison #空のドットファイル
config.reply #設定した宛先一覧
info.rpy #自動応答メッセージ
info.prc #procmailでのformail設定

で、info.prcの内容はこんな感じです。
#formailの記述が改行無し仕様になっているので改行位置が長くなっています(^^;)
-----------------info.prc------------------------

:0 h c
* ^To:.info
| (formail -r -A "Precedence: junk" -A "X-Loop: info@MYDOMAIN"; cat /disk**/usr/MYID/.auto_reply/info.rpy) | $SENDMAIL -t

-----------------------end-----------------------

しかし、これだけでは上手く行かなかったので
思い切って以前から使っていた[.forward][.procmailrc]を消して
accountmanagerでforward先の設定とオートリプライ設定をすると
今までの記述と違う[.forward][.procmailrc]が自分のルートディレクトリに
自動的に作られました。

まずは[.forward]
----------------.forward------------------------
hogehoge@e-net.or.jp
"|IFS=' '&&exec /opt/gnu/bin/procmail -f-||exit 75 #MYID"
------------------end---------------------------
という具合に従来のモノにforward先のメールアドレスがここに現れました(^^;)

で、肝心の[.procmailrc]!
------------------.procmailrc----------------------
SHELL=/bin/tcsh
LOGFILE=/dev/null
SENDMAIL=/usr/lib/sendmail

:0 h c
* ^To:.info
| (formail -r -A "Precedence: junk" -A "X-Loop: info@MYDOMAIN"; cat /disk**/usr/MYID/.auto_reply/info.rpy) | $SENDMAIL -t

----------------------end-------------------------
という具合になってしまいました(^^;)
#procmailのオプションでカーボンコピーが出来る事を初めて知りました(^^;)
で、あとは最初に出来たauto_replyディレクトリとその一連のファイルが出来ました。

ここで試しにinfo@MYDOMAI宛てにSubject: TESTというメールを送ると、
Subject: TESTというメールがちゃんとhoge@hoge.or.jpに届き( :0 h cのcの効果)
Subject: Re:TESTというメールが[info.rpy]テキストの内容と共に届いて一件落着!
...かと思えば、差出人がFrom: MYID@smtp.digiweb.com!
しかも!Mail-For: MYID!?
これじゃぁ、オートリプライされた人が返事をすると全部、
MYID@smtp.digiweb.comに行ってしまう!!
で、Digiwebの自分のメールボックスを見てみると、Subject: TESTと
Subject: Re:TESTの両方のメールがこっちにも来ていた(^^;)
オマケにMYDOMAIN宛てに出したすべてのメールがDigiwebのメールボックスにも
届いてしまっている!(^^;)
Digiwebのメールボックスにメールが届くと添付ファイル付きメールなどを
受け取る時に時間がかかるので、これは何とかして避けたい!!

そこで私がした事は、[.procmailrc]の手直し!

------------------.procmailrc----------------------

SHELL=/bin/tcsh
LOGFILE=/dev/null
# LOGFILE=$HOME/.maillog
#正常にメールが送られるかテストする時のログを自分で見れるように
#LOGFILE=/dev/nullと入れ替える。
SENDMAIL=/usr/lib/sendmail

DATE = `setenv TZ JST-9; date +"%a, %e %b %Y %T +0900 (%Z)"`
#日本時間取得用

:0
* ^TO*test
! MYID@st.rim.or.jp

:0 c
* ^To:.info
| (formail -r -A "Precedence: junk" -I "Date: $DATE" -I "From: info@MYDOMAIN " -I "Reply-to: webmaster@MYDOMAIN " -A "X-Loop: info@MYDOMAIN"; cat /disk**/usr/MYID/.auto_reply/info.rpy) | $SENDMAIL -t

:0
* ^TO.*
! hogehoge@e-net.or.jp

----------------------end-------------------------

でもこれだけでは駄目で、[info.prc]も

-----------------info.prc------------------------

:0 c
* ^To:.info
| (formail -r -A "Precedence: junk" -I "Date: $DATE" -I "From: info@MYDOMAIN " -I "Reply-to: webmaster@MYDOMAIN " -A "X-Loop: info@MYDOMAIN"; cat /disk**/usr/MYID/.auto_reply/info.rpy) | $SENDMAIL -t

-----------------------end-----------------------

それから、accountmanagerが作成した[.forward]の
forward先メールアドレスも消しました。
----------------.forward------------------------
"|IFS=' '&&exec /opt/gnu/bin/procmail -f-||exit 75 #MYID"
------------------end---------------------------

これですべてのMYDOMAIN宛てメールがDigiweb上のメールボックスに
コピーが行かずになり、info@MYDOMAIND宛てへのメールは
Subject: Re:hogehogeと付いたオートレスポンスメールの発行と
送り主のメールの受信が出来るようになりました(^-^)/

しかし!相変わらずオートレスポンスで受け取ったメールには
ヘッダー[Mail-For: MYID]がくっ付いています(^^;)
#でも自分のDigiwebのメールボックスには届いていない。
これってどうする事もできないのかなぁ?(^^;)





コメント:


名前:
E-Mail:
タイトル:
リンク先:
リンク先のタイトル:
画像のリンク:

メッセージ

今年の元号は? (例:大正)