こんにちは。

現在Webが利用する送信メールサーバのあるWeb用のサーバと、一般の（人による）総受信メールサーバを独立に動かしています。Webアプリケーションによる自動送信はPostfixによって行えることが確認できているのですが、受信が同一のドメインで別サーバで行う方法がわからず悩んでいます。

**サーバ構成**

2つのサーバは物理的に別れています。

送信メールサーバはPostfixによって運用されており、DNSレコードは以下のとおりです。

```

    @ A 163.xx.xx.xxx
    @ MX 10 xx.example.com
    @ TXT v=spf1 +ip4:163.xx.xx.xxx -all
    
```

**対策**

一般の送受信を行いたいメールサーバのIPアドレスが`210.yy.yy.yyy`のときに上記の内容を達成するために以下の方法を思いついたのですがうまく動きません。

  1. MX レコードを変更する (MX 10 210.yy.yy.yyy. のような感じで)
  2. Postfixのrelay_domains, transportを利用して転送する
  3. Webが利用する送信サーバを一般に利用しているものに変更する

MXレコードを変更した場合Postfixの送信ができなくなる&なりすまし対策が不可能か。  
Postfixの転送を利用は試してみたのですがうまく動かず。

**エラー内容**

> Recipient address rejected: User unknown in local recipient table

このエラーはWeb用のサーバ(163.xx.xx.xxx)から発行されており, リレー自体ができていない？ようです。

3番は行わないで解決したいです。

**質問**

MXレコードの編集で解決できるのならばそれが一番簡単かと思うのですが、レコードの編集で上記の内容を達成することは可能でしょうか。つまりxx.example.comよりWeb用サーバからPostfixを利用して自動送信を行い、xx.example.com宛のメールは210.yy...のサーバで受け取る。また210.yy...のサーバからもメールがxx.example.comから送信できるようにする。ということです。

もしくはPostfixの転送を利用する場合、

```

    relay_domains = example.com
    
    example.com smtp:210.yy.yy.yyy
    
```

の設定(postmap, reload済み)の他にどうすれば達成できるでしょうか。

# 追記

Web用サーバ) _163.xx.xx.xxx, xx.example.com_  
メール送受信サーバ) _210.yy.yy.yyy, yy.example.jp_

本日再度送信してみたところ210.yy.yy.yyyで受信することができました。  
皆さんお手数をおかけいたしました。

昨日と設定を変更しておらず、なぜ受信できるようになったのか不明なのですが  
昨日,変更したところは

  * Postfixのrelay_domainsとtransport,
  * MXレコード(`MX 10 xx.example.com` から`MX 10 yy.example.jp` に変更)

です。

**Postfixログ**

> Nov 1 12:00:13 example postfix/smtpd[9206]: NOQUEUE: reject: RCPT from mail-
> pg0-f41.google.com[74.125.83.41]: 550 5.1.1 user@xx.example.com: Recipient
> address rejected: User unknown in local recipient table; from=test@gmail.com
> to=user@xx.example.com proto=ESMTP helo=mail-pg0-f41.google.co

注) toやfromの<>を消しています
CC BY-SA 3.0
2017-11-01T02:29:19.310
39192
2018-11-20T16:03:30.700
2017-11-02T03:42:13.457
7733
7733
question
dns postfix mail
送信メールサーバと受信メールサーバを分けたい
Web サーバー上の Postfix が `example.com` を自ドメインと認識(ローカル配送の対象)しており、かつ Web
サービスから受信したメールの宛先を見つけることができないために発生しているのだと思います。

以下の要領で Postfix `postconf`(1) を実行して `mydestination` に `example.com`
が含まれてないか確認してみてください。

```

    $ postconf mydestination
    
```

`mydestination` に `example.com` が含まれているなら、それを削除してください。

同じ要領でリレー許可関係のパラメーターも確認してみてください。下記の例に含まれる `compatibility_level` は、古い Postfix
では該当パラメーターが存在しないため警告が出力されますが無視してください。

```

    $ postconf compatibility_level mynetworks mynetworks_style relay_domains smtpd_relay_restrictions smtpd_recipient_restrictions
    
```

一般的な設定であれば、ローカル (127.0.0.1, ::1) からのリレーは許可されていると思います。

詳細はオンラインマニュアル `postconf`(5) をどうぞ。

上記パラメーターや現在値と変更値の意味がわからないのであれば、Postfix の構築・運用するのは危険です。専門の人や業者に頼ることを推奨します。
CC BY-SA 3.0
2017-11-02T04:37:01.967
39238
2017-11-02T04:37:01.967
3061
39192
answer