開発サーバーのPostfix、メールを1つのドメインにのみ送信できるようにする


11

開発サーバーにpostfixがあり、他のドメインではなく自分のドメインにのみメールを送信できるようにして、外部ユーザーが開発サーバーから誤ってメールを受信しないようにします。

私はドキュメントを検索し、いくつかのことを試しましたが、それでもすべてのドメインに送信されています...

回答:


7

transport(5)マップは、EメールがPostfixによってルーティングされる方法を再定義するために使用されます。

  • /etc/postfix/main.cfに次の行を追加します。

    transport_maps = hash:/etc/postfix/transport
    
  • 次の内容で新しいファイル/ etc / postfix / transportを追加します。

    .example.com   :
    example.com    :
    *              discard:
    

example.comメールサーバーがメールを送信するドメインに置き換えます。サブドメインを気にしない場合は、最初の行を削除してください。

postmap(1)で編集した後にファイルをハッシュし、postfixをリロードして変更を有効にすることを忘れないでください

# postmap /etc/postfix/transport && postfix reload

7

標準のsmtpd_recipient_restrictionsまたはより正確にはcheck_recipient_accessで受信者を簡単に制限できます。

次の内容のaccess(5)テーブル/etc/postfix/accessを作成するだけです(example.comはメールの送信を許可するドメインです):

example.com    OK

一部の特定のアドレスのみを許可することもできます。

user1@example.com    OK
user2@example.com    OK

postmap(1)で編集した後、ファイルをハッシュすることを忘れないでください

# postmap /etc/postfix/access

次に、main.cfに次の受信者制限を設定します。

smtpd_recipient_restrictions = 
    hash:/etc/postfix/access
    reject

そしてPostfixをリロードします:

postfix reload

その後、動作するかどうかをテストします。


1
これは、/ usr / lib / sendmailコマンドではなく、SMTP経由で送信されたメールで機能し、ローカルプロセスは両方を実行できます。「authorized_submit_users」設定を使用して、sendmail / postdropによるローカル送信をブロックできるようですが、smtpdの制限で十分です。
Jacek Konieczny、2010

6

だから誰かが私がしたようにこれにつまずいた場合:答えは確かにheader_checksであり、それはそのように機能します:

  • 次の行をに追加します/etc/postfix/main.cf

    header_checks = regexp:/etc/postfix/header_checks
    
  • /etc/postfix/header_checksこの内容の新しいファイルを追加します。

    /^To:.*@allowed-domain.com/  DUNNO
    /^To:.*@/   REDIRECT redirect@example.com
    

allowed-domain.comメールサーバーがメールを送信するドメインに置き換えます。redirect@example.com他のすべての電子メールがリダイレクトされる電子メールアドレスに置き換えます。

複数のドメインを許可する必要がある場合、最初の行は次のようになります。

/^To:.*@(allowed-domain.com|another-domain.com)/  DUNNO

リダイレクトする代わりに、他のすべてのメールを単純にドロップできます。上記の2行目を次のものに置き換えます。

/^To:.*@/   DISCARD No outgoing mails allowed

説明:

  • Postfixはメールヘッダーを1つずつ通過します。
  • 各ヘッダー行は、header_checksファイルと行ごとに照合されます。
  • 最初の行と一致する場合(To:許可されたドメインを含む)、次のヘッダー行にスキップし、ヘッダーチェックを最初から再度開始します。他の行は一致しないため、これはメールが配信されることを意味します。
  • 2行目に一致する場合(To:別の外部電子メールアドレスを含む)、メールをリダイレクトします。

この問題はこの回答で解決されたようですが、解決済みとしてマークする必要がありますか?(少なくとも私にとっては魅力のように機能しました)
Sverre

何についてCc:Bcc:
ポールトビアス

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.