外部の postfix リレー ホストと内部の postfix サーバーを設定しています。これは、内部の postfix サーバーが外部の smtpd サーバー (どちらも postfix を使用) を介して電子メールを送信するという考え方です。このアーキテクチャを使用するのは、server#1 が webapp と postfix のインスタンスをホストするために使用され、メッセージを外部の postfix リレー ホストである server#2 に転送して送信するためだけのためです。これは、webapp サーバー (server#1) からトランザクション メールを送信する負担を軽減するために行われます。
私の設定は次のとおりです。
私の外部のmynetworks=A.B.C.D
postfix サーバーの場合、内部 postfix サーバーからのリレーを許可するように main.cf のディレクティブを変更しました。
私の〜の上に内部smtp.mydomain.com myusername:mypassword
postfix サーバーでは、/etc/postfix/saslpasswd にディレクティブを追加して sasl 認証を設定しました。
私の質問は、リレー ホストのどこに sasl 認証資格情報を追加すればよいかということです。
また、(この2つのディレクティブ以外に)設定に追加すべき他の詳細はありますか?外部のpostfix リレー HOST を使用して、内部 postfix サーバーから受信した電子メールを転送できますか?
どのような助けでも大歓迎です。ありがとうございます。
答え1
外部ホストを内部ホストのリレーとしてのみ使用することが目的である場合、IP を mynetworks に追加することで、sasl 認証の必要性を回避できます。外部ホスト経由での送信が許可されている内部ホストに対して、アプリケーションを強制的に認証することになります。私は同様の設定を使用しています。
自宅に postfix/dovecot サーバーがあり、クラウドに仮想サーバーがあります。クラウドのサーバーは認証を使用せず、自分のドメインへの受信メール (任意のホストから) のみを許可しますが、自宅の IP と他の VPS IP からの送信は許可します。
permit_mynetworks
以下のように外部ホストのすべてのsmtpd制限に含まれていることを確認する必要があります。
smtpd_client_restrictions = permit_mynetworks, reject_unauth_destination, reject_unknown_recipient_domain, reject_rbl_client zen.spamhaus.org, reject_rbl_client b.barracudacentral.org, reject_rbl_client hostkarma.junkemailfilter.com=127.0.0.2, permit
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipient_access, permit_mynetworks, permit_auth_destination, reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks