web-dev-qa-db-ja.com

Postfixを使用してIMAPサーバーからすべてのメールを取得し、ローカルIMAPサーバーに配布します

状況:

コンステレーション:プロのプロバイダーが提供する管理された専用サーバーがあります。現在、ローカルネットワーク内でTobit David.fxサーバーを使用しており、ドメインに送信されるIMAPを介してオンラインサーバーからすべての電子メールをフェッチします。 David.fxをPostfixとDovecotを実行するUbuntuサーバーに置き換えたいと思います。

希望するシステムは次のようになります:

ユーザーは、ローカルネットワーク内のサーバーに接続して設定されたアドレスのメールをフェッチする通常のクライアント(Thunderbirdなど)を介してメールボックスにアクセスします。

そのローカルサーバーは、IMAPメールボックスからすべての電子メールをオンラインでフェッチし、それ自体の適切なメールボックスに配置する以外に何もする必要はありません。

送信メールもそのように送信する必要がありますが、その逆も同様です。クライアントは、ローカルネットワークサーバー上でSMTP経由で送信するように構成されたメールプログラムを使用します。そのサーバーは実際にはそれ自体ではメールを送信しませんが、オンラインサーバーを使用してメールを送信します。

つまり、オンラインサーバーが一種のプロキシまたはトンネルのように機能する場合のように。オンラインサーバーでローカルメールサーバーへの転送を設定することはできません。

上記の状況に基づいて、PostfixとDovecotを使用してこれを実現する方法をさらに調査する権利はありますか? それらはそのようなシナリオに適していますか?読むべき膨大な量のリソースを見つけましたが、同じ用語のために、ほとんど異なる問題がで説明されています。

PS:スケッチを提供したかったのですが、ServerFaultでの評判が低かったため、まだできませんでした。

3
Peter

ここにあなたのケースのために提案されたメールフロー図があります。

External mail server
   |        ▲
   |        |
  POP3     SMTP
   |        |
   ▼        |
Local mail server

まず、セットアップが必要ですworking postfixとdovecotを備えたローカルメールサーバー。 postfixの重要なパラメータは決してローカルドメインをリストする in relay_domainsです。ローカルドメインにはvirtual_mailbox_domainsまたはmydestinationを使用できます。

次に、外部メールサーバーからローカルにユーザーを入力/同期する必要があります。したがって、外部メールサーバーには電子メールを受信するための有効な受信者リストがあり、ローカルメールサーバーには認証と管理のためのユーザーデータベースがあります。

送信メールフローの場合、セットアップするだけです SASLを使用したSMTP送信サービス 。次に、postfixでrelayhostを外部メールサーバーに設定します。また、単一のユーザー名または他の方法で postfix SMTPクライアント を設定する必要があります。プロバイダーのメールサーバーによって異なります。

受信メールフローの場合、cron/otherデーモンメソッドを使用して、外部メールサーバーのINBOXを定期的にチェックし、POP3経由で新しいメッセージをダウンロードし(ダウンロード後に削除することを忘れないでください)、右のメールボックス。 Fetchmail このタスクに適しています。

1
masegaloeh