Выброс постфикса Ошибка отклонения адреса получателя при настройке с virtual_mailbox_domains

Я настроил postfix для отправки полученного электронного письма локальному агенту LMTP с помощью параметра virtual_mailbox_domains. Он работает нормально, если полученное электронное письмо получено для полного доменного имени компьютера, на котором работает postfix, но если оно предназначено для IP-адреса компьютера, оно выдает следующую ошибку: отклонено: пользователь неизвестен в локальной таблице получателей ". Пробовал разные вещи, но не повезло. Буду очень признателен за любые советы по этому сценарию.

Заранее спасибо за помощь!

Вот топология:

                                    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 работает постфикс + кастомный LMTP.

Пример 1 (успешно)

Отправьте электронное письмо по адресу user@mta.test.com с компьютера A. Этот вариант использования успешно выполняется, и Postfix успешно доставляет электронную почту клиентскому агенту LMTP, который прослушивает сокет localhost.

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 (неудачный случай)

Отправить электронное письмо на адрес user@10.2.20.50 с компьютера A. В этом случае происходит сбой, и Postfix выдает эту ошибку в mail.log "NOQUEUE: reject: RCPT from unknown[10.2.20.40]: ​​550 5.1.1: Адрес получателя отклонен: Пользователь неизвестен в таблица локальных получателей; от = до = прото = 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

2 ответа

user@10.2.20.50 - неверный синтаксис.user @ [10.2.20.50] - это то, что позволяет RFC.

Но в любом случае: поскольку Postfix говорит "Пользователь неизвестен в локальной таблице получателей", доменная часть считается локальной. Не виртуальный.

Вы можете попробовать добавить:

[10.2.20.50] is_a_virtual_domain
user@[10.2.20.50] someother@address

к virtual_alias_maps и проверьте, работает ли он, но я совсем не уверен в этом. Синтаксис @[10.2.20.50] довольно византийский.

Другие вопросы по тегам