Postfix - ローカルで生成されたメールを中継しますが、同じドメインの GApps からのメールは受け入れます

Postfix - ローカルで生成されたメールを中継しますが、同じドメインの GApps からのメールは受け入れます

すべてのローカル配信を無効にする方法は、「mydestination」からドメインを削除することであることはわかっています。これにより、すべてのメールが、設定したリレーを介して中継されます。しかし、私は postfix が GApps からのすべてのメールを dovecot へのローカル配信用に受け入れ、ローカルで生成されたすべてのメールを GApps に中継するようにしたいと考えています。

例: ローカルの postfix を使用して、サーバー上で Web メールを実行しています。[メールアドレス]メールを送信する[メールアドレス]. user2 がローカルに存在する場合、postfix はローカルに配信します。存在しない場合、そのメールを GApps に送信するフォールバック リレーを追加できます。ただし、ローカルの可用性に関係なく、postfix が常にこれらのメールを GApps にリレーして返すようにする必要があります (GApps はこれらのメールをローカル配信のために下流の postfix に送り返します)。そのため、一種のウォーターフォール モデルを使用できます。

これに関連する質問がたくさんあることは承知していますが (具体的に答えているものはありません)、基本的に私が望んでいるのは、Gmail とローカルの dovecot の両方で同じユーザーに一種の同一の受信トレイを用意することです。Web メールにローカルではなく GApps SMTP リレーを直接使用することで一時的な解決策を見つけましたが、IMAP で接続しているユーザーにとっては何も解決しません (最終的には各ユーザーに GApps SMTP へのアクセス権を与える必要があります)。

答え1

ついにPostfixの複数インスタンスでセットアップが動作するようになりましたマセガロエ言及しました。exim4 を使用しようとしましたが、apt-get install exim4 はプロンプトも出さずに postfix を自動的にアンインストールしました。とにかく、これが私がこれを動作させた方法です:

#Adds some lines to main.cf enabling multiple instance
postmulti -e init

#Creates a new instance at the directory /etc/postfix-outgoing
postmulti -I postfix-outgoing -G mta -e create

私の使用例では、ポート25そしてポート465Gmailからの受信メールを受信するために使用しましたが、postfixが必要でした提出(ポート587で実行)送信MTA用です。そのため、次のようにコメントしました。/etc/postfix/master.cf

#submission inet n       -       -       -       -       smtpd

そしてコメントしたSMTPそしてSMTPSしかし、提出では/etc/postfix-outgoing/master.cf、このようなものを取得するには

submission inet n       -       -       -       -       smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_recipient=no

デフォルトの ISPConfig の main.cf を からコピーし/etc/postfix、 に多くの変更を加えました/etc/postfix-outgoing/main.cfが、主なものは次のとおりです。

  1. myhostnameメインインスタンスと異なるように を変更しました。(そうしないと、postfix がそれらを混同します)
  2. すべての dovecot 固有の設定を削除しました。
  3. データディレクトリを変更します。
  4. postfix がローカル配信を試みないようにします。(mydestination、virtual_domains などを通じて)
  5. あなたの〜を入力してくださいrelayhost
  6. dovecot.conf に 2 番目のリスナーを追加して、元のパスへの直接参照service authを指定する/var/spool/postfix-outgoing/private/auth方法は私にはうまくいきませんでした。または、以下を試すこともできます - TCP経由のDovecot認証

最後にインスタンスを有効にします。

postmulti -i postfix-outgoing -x postconf -e \
  "master_service_disable ="
postmulti -i postfix-outgoing -e enable
postmulti -i postfix-outgoing -p start

tail -f /var/log/mail.logどこで問題が起きたのかを確認します。

参照:http://www.postfix.org/MULTI_INSTANCE_README.html

関連情報