가상 사용자가 존재함에도 불구하고 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(숨은 참조) 수신자를 비활성화합니다. 이는 일반적으로 외부 콘텐츠 필터 앞에 지정됩니다.

이것은 분명히 작동하지 않았습니다. 일단 제거되면 이제 작동하는 것 같습니다.

관련 정보