2007-05-26  18:11:10

パイプからメール本文を受け取って qmail-injectに渡す際に、Subject: をどう設定したら良いか分からなかった。

mailxコマンドだと、

cat honbun.txt | mailx -s "subject desu"  このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。

の様な送り方で、サブジェクトの指定が可能である。

コマンドラインでは、

cat honbun.txt | xargs echo -e "Subject:subject desu\\n\\n" | /var/qmail/bin/qmail-inject  このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。

みたいな方法で、サブジェクトを指定してのメール送信が可能であるが、これをそのままlogsurfer.confに書くと、どうもうまく行かないようだ。

more /etc/logsurfer.conf

"hogehoge:" - - - 0 continue
        open "hoge hoge:" - - 60 -
        pipe '/usr/bin/xargs /bin/echo -e "Subject:subject desu\\n\\n" | /var/qmail/bin/qmail-inject  このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。'

つまり、↑これがうまく行かない。

 

仕方が無いので、次の様なWrapper Scriptを呼び出すようにした。
 

mailx.sh

#!/bin/bash
 until [ -z "$1" ] ; do
         if [ "$1" == "-s" ]; then
                 shift
                 SUBJECT=$1
                 shift
         fi
         TO=${TO}" "$1
         shift
 done
 cat <(echo -e Subject: $SUBJECT\\n) - | /var/qmail/bin/qmail-inject $TO

 

そしてlogsurferのルールには次のように書けば良い。

/etc/logsurfer.conf

"hoge:" - - - 0 continue
        open "hoge:" - - 100 -
        pipe '/usr/sbin/mailx.sh -s "hello wolrd" このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。'