Хочу создать псевдоним postmaster для виртуального домена (example.ua), почта для несуществующего виртуального пользователя postmaster@example.ua приходила в ящик существующего виртуального пользователя user@example.ua
Некоторые строки из postconf
alias_maps = hash:/etc/aliases
compatibility_level = 2
local_recipient_maps = $alias_maps
mydestination = localhost.$mydomain, localhost
mydomain = $myhostname
relay_domains = $mydestination, hash:/etc/postfix/relay
setgid_group = maildrop
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_sasl_authenticated, reject_unknown_hostname
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination, reject_unknown_client, reject_invalid_hostname, reject_non_fqdn_hostname, reject_unknown_hostname, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unverified_recipient
smtpd_relay_restrictions = permit_sasl_authenticated, reject_unauth_destination, reject_unknown_client, reject_invalid_hostname, reject_non_fqdn_hostname, reject_unknown_hostname, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unverified_recipient
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = permit_sasl_authenticated, reject_unauth_destination, reject_unknown_client, reject_invalid_hostname, reject_non_fqdn_hostname, reject_unknown_hostname, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unverified_recipient
strict_rfc821_envelopes = yes
virtual_alias_domains = $myhostname
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_gid_maps = static:303
virtual_mailbox_base = /srv/vmail
virtual_mailbox_domains = $myhostname, subdom.$myhostname
virtual_mailbox_lock = fcntl
virtual_minimum_uid = 303
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_uid_maps = static:303
/etc/postfix/virtual
postmaster@example.ua user@example.ua
sudo postmap /etc/postfix/virtual
Но при отправке почты на postmaster@example.ua postfix отвергает её с сообщением, что такой пользователь не существует.
NOQUEUE: reject: RCPT from forward7m.cmail.yandex.net[5.255.216.200]: 450 4.1.1
Можно ли обойтись без создания пользователя и ящика в /etc/dovecot/users?
Ответ
Некоторые опции postconf -n в которых пустая опция virtual_alias__domains которая должна быть, в большинстве случаев пустой, если мы не хотим специально создавать домен, в котором будут исключительно виртуальные псевдонимы.
А если мы хотим просто добавить псевдоним для доменов, в котором у нас уже есть виртуальные пользователи, нам нужно указать их только в virtual_mailbox_domains, и они не должны повторятся в mydestination и virtual_alias_domains.
compatibility_level = 2
stress = yes
biff = no
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
smtputf8_autodetect_classes = bounce
myhostname = example.ua
mydomain = $myhostname
mydestination = localhost.$mydomain, localhost
inet_interfaces = all
inet_protocols = ipv4
smtpd_recipient_restrictions = permit_inet_interfaces, permit_sasl_authenticated, reject_unauth_destination, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unknown_helo_hostname, reject_unknown_client_hostname, reject_rbl_client zen.spamhaus.org
smtpd_relay_restrictions = permit_inet_interfaces, permit_sasl_authenticated, reject_unauth_destination
smtpd_data_restrictions = reject_unauth_pipelining, reject_multi_recipient_bounce
smtpd_etrn_restrictions = reject
smtp_use_tls = yes
smtp_enforce_tls = yes
smtp_tls_security_level = encrypt
smtp_helo_timeout = 10s
smtp_rcpt_timeout = 10s
smtp_tls_CAfile = /etc/ssl/ca-bundle.pem
smtp_tls_CApath = /etc/ssl/certs
smtp_tls_cert_file = /etc/apache2/ssl.crt/example.ua.crt
smtp_tls_key_file = /etc/apache2/ssl.key/example.ua.key
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_scache
smtp_tls_session_cache_timeout = 1d
smtpd_use_tls = yes
smtpd_enforce_tls = yes
smtpd_helo_required = yes
smtpd_tls_auth_only = yes
smtpd_tls_security_level = encrypt
smtpd_recipient_limit = 100
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_tls_CAfile = /etc/ssl/ca-bundle.pem
smtpd_tls_CApath = /etc/ssl/certs
smtpd_tls_cert_file = /etc/apache2/ssl.crt/example.ua.crt
smtpd_tls_key_file = /etc/apache2/ssl.key/example.ua.key
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
smtpd_tls_session_cache_timeout = 1d
virtual_alias_domains =
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_mailbox_domains = $myhostname, subdomain.$myhostname
virtual_mailbox_base = /srv/vmail
virtual_mailbox_lock = fcntl
virtual_minimum_uid = 303
virtual_uid_maps = static:303
virtual_gid_maps = static:303
virtual_transport = lmtp:unix:private/dovecot-lmtp
/etc/postfix/virtual
# example.ua
postmaster@example.ua user@example.ua
abuse@example.ua user@example.ua
# subdomain.example.ua
postmaster@subdomain.example.ua user@example.ua
abuse@subdomain.example.ua user@example.ua
sudo postmap hash:/etc/postfix/virtual
И после этого почта отосланную на адреса postmaster@example.ua, abuse@example.ua, postmaster@subdomain.example.ua, abuse@subdomain.example.ua приходит виртуальному пользователю user@example.ua, как и задумывалось.
Комментариев нет:
Отправить комментарий