これは私がメールを送らなければならないプロジェクトの一部です...
ドメインabc.com
のメールサーバーがあります。そのメールサーバーが別のドメインcde.com
からメールを受信できるようにするにはどうすればよいですか?
また、すべてのメールをroot
ユーザーに転送するにはどうすればよいですか?
最初の質問については、オープンリレーで構成されたメールサーバーが必要だと思います。
postfixを使用した場合、デフォルトの設定はオープンリレー用です...
いいえ。デフォルトのpostfixはオープンリレーとして設定されていないため、ローカルメールのみを受け入れます。
そして、あなたはそれを Open Relay として設定したくありません。数日中に、一部のスパマーがそれを見つけて使用を開始します。結果として:
したがって、メールを送信することはできず、インターネットは私たちの残りの部分にとって少し悪くなります。
認証なしで一部のIPからメールを送信できるようにするには、/etc/postfix/main.cf
でこのオプションを設定(または追加)する必要があります
mynetworks = 127.0.0.0/8, 192.168.1.0/24
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
もちろん、mynetworkを定義するIPは、自分に合ったものに変更する必要があります。
メインは決してルートアカウントに配信しないでください。通常、電子メールを別のアカウントに配信するために、/etc/aliases
にルートのエイリアスがあります。統合する必要があるアカウントの数が限られている場合、最も簡単な方法は、/etc/aliases
にエントリを追加することです。必要に応じて、別のサーバーのアドレスに電子メールを送信するように構成できます。
電子メールを送信するには、スマートホストを使用するようにメールサーバーを設定します。通常、ISPのリレーサーバーを使用することをお勧めします。すべてのメールが1つのドメインに送信される場合、そのドメインのMX(メール交換)をスマートホストとして使用できる場合があります。 /var/log/mail.log
(またはpostfixがメッセージをログする場所)を見ると配信を確認できます。
インターネットに直接確実にメールを送信したい場合は、静的アドレスを取得します。 メール配信管理の苦情 を参照してください。
信頼性の高い受信メール配信には、静的IPアドレスが必要です。 fetchmailなど、別のサーバーからメールを取得するプログラムは、メールが別のサーバーに配信されるときに機能します。
メールサーバーがabc.comのMXである場合、オープンリレーにならずにドメインのメールを受け入れることができます。オープンリレーを構成することはお勧めできません。
メールサーバーには、mail.abc.com
ではなく、www.abc.com
またはabc.com
などの名前を使用することをお勧めします。 abc.com
宛のメールを送信できます。 abc.com
の場合は、MX
として構成することをお勧めします。正当なメールサーバーがセカンドレベルドメインを使用することはほとんどありません。
fetchmail は他のドメインからメールを取得するために必要なものだと思いますし、あなたが望むどんなローカルユーザーにもそれを渡します。