
Я настроил Postfix и Dovecot в соответствии с документацией по виртуальным настройкам и транспорту LMTP:
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. В целом все работает так, как и ожидалось.
Чтобы остаться в этом примере, когда я отправляю электронное письмо из[email protected]через аутентифицированную отправку SMTP-сообщений[email protected], он всегда выдает:
<[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's LMTP. Я не понимаю, почему все работает с неаутентифицированных внешних адресов, но не при отправке аутентифицированных на мой собственный адрес.
Я благодарен за любые указания. Если нужны дополнительные данные конфигурации, дайте мне знать, и я их добавлю.
решение1
В Postfix master.cf
была настройка, которую я не помню, чтобы делал:
-o receive_override_options=no_address_mappings
Согласно документации Postfix, это делает то, о чем говорит его название:
Отключить каноническое сопоставление адресов, расширение карты виртуальных псевдонимов, маскировку адресов и автоматических получателей BCC (скрытая копия). Обычно это указывается ДО внешнего фильтра контента.
Это, очевидно, не могло работать. После удаления, похоже, теперь работает.