Postfix 2.10.2에는 메일 주소를 로컬 사용자에게 할당하기 위해 여러 개의 도메인과 여러 개의 가상 별칭이있는 설정이 있습니다. catchall을 추가하지 않는 한 제대로 작동합니다.
가상 별칭을 사용하기 전에 다음과 같이 정의 된 catchall이있었습니다.
local_recipient_maps =
luser_relay = catchall
그러나 다른 도메인에서 메일 주소를 정렬해야하므로 가상 별칭을 사용해야했습니다.
이제 postfix.org 는 다음과 같이해야한다고 말합니다.
/etc/postfix/main.cf :
virtual_alias_domains = example.com
virtual_alias_maps = hash:/etc/postfix/virtual
/ etc / postfix / 가상 :
postmaster@example.com account1
info@example.com account1
sales@example.com account2
@example.com catchall
그러나 그렇게하면 포괄 주소는 명시 적으로 정의되지 않은 주소로 메일 대신 모든 메일을 가져옵니다. 그 이유는 무엇이며 어떻게 변경합니까?
포스트 맵 가상을 수행하고 Postfix를 다시 시작했습니다. 로그에 오류가 없으며 전달을 포괄 주소로 기록합니다. 그리고 "mydestination 및 virtual_alias_domains에 도메인 example.com을 나열하지 마십시오"라는 경고가 있지만 그렇게하지 않았습니다! 나는 신비로운 지시조차하지 않습니다. (아래 구성에 하나가 있지만 NickW가 제안한 후에 추가했습니다.)
내 완전한 conf는 다음과 같습니다.
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = all
mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/dovecot.conf -m "${EXTENSION}"
mailbox_size_limit = 0
mydestination = $myhostname
myhostname = mydomain.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/dovecot-auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/dovecot/dovecot.pem
smtpd_tls_key_file = /etc/dovecot/private/dovecot.pem
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_protocols = SSLv3, TLSv1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
virtual_alias_domains = $myhostname, myotherdomain.com
virtual_alias_maps = hash:/etc/postfix/virtual