- PR -

Postfixで存在しないホストへのメールの受信拒否

1
投稿者投稿内容
しるしる
常連さん
会議室デビュー日: 2005/10/25
投稿数: 24
投稿日時: 2006-06-16 17:05
いつもお世話になっております。
非常に低レベルであると思いますが、皆様のアドバイスをいただけますでしょうか。

現在 Postfix 2.1.4で、example.co.jp(仮名)のメールサーバを運用しております。
example.co.jpのMXはmx.example.co.jpであり、歴史的な経緯から以下のホスト宛のメールも受信したいと考えております。
a.example.co.jp
b.example.co.jp
c.example.co.jp
ただし、上記以外のホスト宛(例えばz.example.co.jp)のメールは受信したくあり
ません。

mx及び a, b, c の各ホスト名でユーザは全て共通で、
@example.co.jp
@a.example.co.jp
@b.example.co.jp
@c.example.co.jp
宛のメールは全て同じローカルユーザ宛に配送するものとします。

さて、これを実現するために、以下のような設定を行っております。
- main.cf
mydomain = example.co.jp
#myhostname = ... (自動で mx.example.co.jp と設定されています)
mydestination = $myhostname, $mydomain, dbm:/etc/postfix/mydestination_map

- mydestination_map
a.example.co.jp
b.example.co.jp
c.example.co.jp

これで希望通りの動作をすると思いましたが、
@z.example.co.jp
宛のメール(ユーザ名は存在してもしなくても良い)を全て受け取ってしまい困って
おります・・・。つまり、存在しないホスト宛のメールであればユーザ名が何であれ
全て受け取るようになっております。ちなみに、mydestination_mapに定義している
ホスト名の場合は存在しないユーザ名は受け取りません。

これはどこの設定を変更すればよろしいでしょうか・・・。
以上、よろしくお願いいたします。
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2006-06-17 07:08
mydestinationの設定は、終端ドメインの設定であって受け取り可能なドメインのリストではありません。
そっちの設定はdefaultで
relay_domains = $mydestination
となっています。
ま、細かくいえばsmtpd_recipient_restrictionsの設定によるところですけど。

relay_domainsはparent_domain_matches_subdomainsのリストに含まれていますので
設定した値のサブドメインも対象となります。
mydestinationにmydomainとしてexample.co.jpが含まれているようですので
そのサブドメインもrelay_domainsに含まれます。
なのでparent_domain_matches_subdomainsからrelay_domainsを
外せばサブドメインは設定から外されます。

多分これで希望通りになるかと。

_________________
桃李不言 下自成蹊
しるしる
常連さん
会議室デビュー日: 2005/10/25
投稿数: 24
投稿日時: 2006-06-19 14:23
anights様

ご回答を頂きありがとうございます。
アドバイスの通り、parent_domain_matches_subdomainsからrelay_domainsを外す事で、
希望通りの動作をするようになりました。

relay_domains=mydestinationに設定されており、relay_domainsがparent...に含まれて
いるが、mydestinationがparent...に含まれていないことで、受信はするが、自分自身に
配送されないという状況が発生していたのですね。

このたびはどうもありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)