Postfix/Dovecot セットアップで仮想ユーザーが存在するにもかかわらず「ユーザーが存在しません」と表示される

Postfix/Dovecot セットアップで仮想ユーザーが存在するにもかかわらず「ユーザーが存在しません」と表示される

仮想セットアップと LMTP トランスポートのドキュメントに従って、Postfix と Dovecot を設定しました。

https://www.postfix.org/VIRTUAL_README.html

/usr/local/etc/postfix/main.cf:
    virtual_transport = lmtp:unix:/path/name/to/socket 
    virtual_mailbox_domains = example.com example2.com
    virtual_mailbox_maps = hash:/usr/local/etc/postfix/vmailbox
    virtual_alias_maps = hash:/usr/local/etc/postfix/virtual

/usr/local/etc/postfix/vmailbox:
    [email protected]    whatever
    [email protected]   whatever

/usr/local/etc/postfix/virtual:
    [email protected] [email protected]

/usr/local/etc/dovecot/users:
    [email protected]:{SHA512-CRYPT}$6$/kTQFQ[...]/::::::userdb_quota_rule=*:storage=2048M
    [email protected]:{SHA512-CRYPT}$6$/kTQFQ[...]/::::::userdb_quota_rule=*:storage=2048M

外部アドレスからメールを送信すると、メールは受け入れられ、LMTP 経由で適切に転送されます。通常、すべてが期待どおりに動作します。

この例を続けると、私がメールを送信すると[メールアドレス]認証されたSMTP送信を介して[メールアドレス]、常に次のエラーが発生します:

<[email protected]>: host mx.example.com[private/dovecot-lmtp] said: 550 5.1.1
    <[email protected]> User doesn't exist: [email protected] (in reply
    to RCPT TO command)

エラーが Dovecot の LMTP によってスローされることは承知しています。理解できないのは、認証されていない外部アドレスからはすべて機能するのに、自分で認証して送信すると機能しない理由です。

何かアドバイスがあれば、ぜひ教えてください。さらに設定データが必要な場合は、お知らせください。追加します。

答え1

Postfix には、master.cf私が行った覚えのない設定がありました:

-o receive_override_options=no_address_mappings

Postfix のドキュメントによると、これはその名前が示すとおりの機能を果たします。

正規アドレス マッピング、仮想エイリアス マップ拡張、アドレス マスカレード、自動 BCC (ブラインド カーボン コピー) 受信者を無効にします。これは通常、外部コンテンツ フィルターの前に指定されます。

これは明らかに機能しません。削除すると、現在は機能しているようです。

関連情報