virtual_mailbox_domains パラメータを使用して、受信した電子メールをローカル LMTP エージェントに送信するように postfix を設定しました拒否されました: ローカルの受信者テーブルでユーザーが不明です". さまざまなことを試しましたが、うまくいきませんでした。このシナリオに関するヒントをいただければ幸いです。
事前にご協力いただきありがとうございます。
トポロジは次のとおりです。
IP FQDN
Machine A (sending machine) 10.2.20.40 machine-a.test.com
Machine B (Postfix + LMTP) 10.2.20.50 mta.test.com
マシン B は postfix + カスタム LMTP を実行しています。
例 1 (成功)
マシン A からuser@mta.test.comに電子メールを送信します。このユース ケースは成功し、Postfix はローカルホストのソケットでリッスンしている顧客の LMTP エージェントに電子メールを正常に配信します。
Success case /etc/postfix/main.cf:
virtual_mailbox_domains = mta.test.com
/etc/postfix/virtual_mailbox_map:
user@mta.test.com lmtp:inet:127.0.0.1:5678
例 2 (失敗した場合)
マシン A からuser@10.2.20.50に電子メールを送信します。このケースは失敗し、Postfix は mail.log にこのエラーをスローします。ローカル受信者テーブル; from= to= proto=ESMTP helo=<[127.0.1.1]>"
Failure case /etc/postfix/main.cf:
virtual_mailbox_domains = 10.2.20.50
/etc/postfix/virtual_mailbox_map:
user@10.2.20.50 lmtp:inet:127.0.0.1:5678
POSTFIX main.cf (両方のケースで共通の構成部分):
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
inet_interfaces = all
inet_protocols = all
mydestination = localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
recipient_delimiter = +
smtpd_client_restrictions = permit_mynetworks, permit
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks, permit, reject_unauth_destination
resolve_numeric_domain = yes
unknown_local_recipient_reject_code = 550
myhostname = mta-machine
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox_map
virtual_transport = lmtp:inet:127.0.0.1:5678