プロが教えるわが家の防犯対策術!

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

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で質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QPostfix でアクセス制限をかける方法

Postfixにおいて、自分のドメインのあるアドレスへのメール転送を制限したいのですが、どのように設定すればいいかわかりません。

test@mydomain へのメールが届いたときに、そのメールの From が me@mydomain でなければ転送しないという設定をしたいのですが、どうのように設定すればいいでしょうか?

access ファイルを設定することでアクセス制限をかけられることは検索した結果分かったのですが、それではすべてのメールに制限が適用されてしまうと考えています。

http://www.postfix-jp.info/trans-2.2/jhtml/access.5.html

よろしくお願いします。

Aベストアンサー

Postfixではできません。


通常ご希望のようなことは、procmail 等を使って行います。

QDNSサーバーの構築「no servers could be reached」

FEDORA3でDNSサーバー構築後にnslookupを行いましたが次のメッセージが表示されて動作しません。
「;;connection timed out; no servers could be reached」
半日ばかり問題を検討していますが解決できません(T_T)。
アドバイスをお願いします。

◆環境◆
OS:FEDORA3
実際のインターネット環境で利用するためではなく自宅内練習のためドメイン名は任意で設定しています。

<BIND設定ファイル>
zone "ABC.com" {
type master;
file "ABC.com";
};

zone "8.30.168.192.in-addr.arpa"
type master;
file "ABC.com.rev";
};

<ゾーンファイル>
@ IN SOA NEKO.ABC.com. postmaster.ABC.com. (

IN NS NEKO.ABC.com

NEKO IN A 192.168.30.9
INU IN A 192.168.30.10

ns IN CNAME NEKO

<リゾルバ>
search ABC.com
nameserver 192.168.30.9
nameserver 127.0.0.1


「/etc/rc.d/init.d/named start」では「OK」が表示されるが「/etc/rc.d/init.d/named stop」では「OK」が表示されない。

「/etc/rc.d/init.d/named start」で起動後も「netstat -ln」でポート番号「53」が表示されない。

読みにくい長い文を読んで頂いてありがとうございます。
自分での解決が難しそうなので是非アドバイスをお願いします(T_T)!

FEDORA3でDNSサーバー構築後にnslookupを行いましたが次のメッセージが表示されて動作しません。
「;;connection timed out; no servers could be reached」
半日ばかり問題を検討していますが解決できません(T_T)。
アドバイスをお願いします。

◆環境◆
OS:FEDORA3
実際のインターネット環境で利用するためではなく自宅内練習のためドメイン名は任意で設定しています。

<BIND設定ファイル>
zone "ABC.com" {
type master;
file "ABC.com";
};

zone "8.30.168.192.in-addr.arpa"
type mast...続きを読む

Aベストアンサー

>「/etc/rc.d/init.d/named start」で起動後も「netstat -ln」でポート番号「53」が表示されない。

じゃあ、起動していないんでしょうね。
# pgrep named
とやってPIDが返ってこなければプロセスすらあがっていないですよ。名前解決が出来ないとかいう以前の問題です。
named-checkconfとかnamed-checkzoneとかで設定ファイルをチェックしてみたらどうですか?
それと、RedHat系の起動スクリプトではrndcを使ってstopやらstatusを処理しているのでそのあたりの設定も必要ですよ。

#1の方がおっしゃっているようにログになにか出力されているならそれを投稿するのも手でしょう。別にあなたが分からなくても回答者は分かるかもしれませんし。

最近のディストリビューションを使用されているならselinuxの使用有無も情報として重要です。

bind-chroot絡みなら/etc/sysconfig/named内でROOTDIRが定義されているか?とかも関連するのでチェックして下さい。

>「/etc/rc.d/init.d/named start」で起動後も「netstat -ln」でポート番号「53」が表示されない。

じゃあ、起動していないんでしょうね。
# pgrep named
とやってPIDが返ってこなければプロセスすらあがっていないですよ。名前解決が出来ないとかいう以前の問題です。
named-checkconfとかnamed-checkzoneとかで設定ファイルをチェックしてみたらどうですか?
それと、RedHat系の起動スクリプトではrndcを使ってstopやらstatusを処理しているのでそのあたりの設定も必要ですよ。

#1の方がおっしゃって...続きを読む

QPostfixで外部にメールが送れません

まるごとServerをレンタル(root権限あり)しました。
今までQMailを使ってサーバーの運営をしていたのですが、今回はPostfixで運営する事になりました。
hogehoge.jp(仮名です)というドメインを取得し、DNSにも登録しHPは見る事が出来る状態です。
メールの設定をしているのですが、このサーバーをSMTPとしてメーラーに設定し、このサーバー外のドメイン宛(例えば、fugafuga@gmail.comなど)にメールを送信しようとするとはじかれてしまいます。
サーバー内部のドメイン(バーチャルホスト)宛にはちゃんと送受信出来ます。
外部からのメールもキチンと振り分けられて取得できます。

以下はメールのログです。
-------------------------------------------------
May 16 22:54:06 www postfix/smtpd[23767]: connect from xxx.yyy.bbiq.jp[***.***.***.***]
May 16 22:54:06 www postfix/smtpd[23767]: NOQUEUE: reject: RCPT from xxx.yyy.bbiq.jp[***.***.***.***]: 554 5.7.1 <fugafuga@gmail.com>: Relay access denied; from=<hoge@hogehoge.jp> to=<fugafuga@gmail.com> proto=ESMTP helo=<[127.0.0.1]>
May 16 22:54:08 www postfix/smtpd[23767]: disconnect from xxx.yyy.bbiq.jp[***.***.***.***]
-----------------------------------------------------
ちなみにターミナルを使って内部から fugafuga@gmail.comにmailコマンドでメールを送信したときはちゃんと送信出来ました。

これは何が原因でしょうか?
main.cfのうち関係ありそうなのを列挙します。

inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks_style = subnet
mynetworks = 168.100.189.0/28, 127.0.0.0/8
smtpd_client_restrictions = permit_mynetworks,reject_unknown_client,permit

他に提示したほうがいい情報があれば教えてください。
よろしくお願いします。

まるごとServerをレンタル(root権限あり)しました。
今までQMailを使ってサーバーの運営をしていたのですが、今回はPostfixで運営する事になりました。
hogehoge.jp(仮名です)というドメインを取得し、DNSにも登録しHPは見る事が出来る状態です。
メールの設定をしているのですが、このサーバーをSMTPとしてメーラーに設定し、このサーバー外のドメイン宛(例えば、fugafuga@gmail.comなど)にメールを送信しようとするとはじかれてしまいます。
サーバー内部のドメイン(バーチャルホスト)宛にはちゃん...続きを読む

Aベストアンサー

> May 16 22:54:06 www postfix/smtpd[23767]: connect from xxx.yyy.bbiq.jp[***.***.***.***]

ここに表示されたIPアドレスって、

> mynetworks = 168.100.189.0/28, 127.0.0.0/8

の範囲にちゃんと入ってますか?
(168.100.189.1~14の範囲に入ってますか?)


人気Q&Aランキング