電子書籍の厳選無料作品が豊富!

非常に困っております。お力添えお願いします。

Postfixでheader_checksの機能の検証をしております。
Fromのアドレスによって、REJECTしようとしていますが
うまく動作しません。

test@hogehoge.comからのメールを拒否するのであれば
/^From:.*test@hogehoge\.com/ REJECT
と書けば良いように思われます。
(manファイルやGoogleでの検索の結果を確認)

しかし、上記では拒否されません。
そこで以下の試しました。

/^From:.*test/ REJECT
 拒否される

/^From:.*test@/ REJECT
 拒否されない

/^From:.*hogehoge\.com/ REJECT
 拒否されない

/^From:.*hogehoge/ REJECT
 拒否されない


どうも、メールアドレスの中の@が悪さをしているように
見受けられます。念のため以下も試しました

/^From:.*test\@hogehoge\.com/ REJECT
 拒否されない

@が付いているアドレスに対し、どのように書けば宜しいのでしょうか?


CetOS5
Postfix2.3.3

以上、お願いします。

A 回答 (1件)

後ろにも「.*」をつけるとどうなりますか?


うちの環境ではこれで動いているようですが。

/^From:.*test@hogehoge.com.*/ REJECT
    • good
    • 0
この回答へのお礼

検証をCentOS4.5で行なった所、うまく動きました。。。。
おそらく、Postfixのバージョンの違いなのでしょう。
しかし、本来やりたかったif end ifがうまく動きません。
これも、色々なサイトで書かれている内容の通りに動いてくれません。

検証の結果から見ると
ifで、条件判定を行なった後の、内部での判定の際に
ifで当てはまった行の次の行から判定を行なうようです。
(同じメールの最初の行から判定してくれない)

regexpとpcreでも動作が違うようですし。。。。
何なんでしょうね。。

お礼日時:2007/11/12 11:01

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