送信メールサーバと受信メールサーバを分けたい
こんにちは。
現在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
のときに上記の内容を達成するために以下の方法を思いついたのですがうまく動きません。
- MX レコードを変更する (MX 10 210.yy.yy.yyy. のような感じで)
- Postfixのrelay_domains, transportを利用して転送する
- 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の<>を消しています