Назад | Перейти на главную страницу

Псевдоним Postfix переадресовывает только локальным пользователям

Я установил Dovecot и Postfix, используя этот учебник, который работает для получения и отправки почты. Псевдонимы также работают нормально, но только для локальных пользователей. Т.е. Я могу сделать переадресацию с noaddress@mydomain.com на realaddress@mydomain.com, где только realaddress определяется как виртуальный пользователь (с использованием MySQL). Я хочу перенаправить на внешний адрес, например Gmail или другой почтовый сервер. Все мои файлы конфигурации точно такие, как указано в приведенной выше ссылке. Я пробовал добавить

virtual_alias_domains =

в postfix / main.cf, но это ничего не решило.

Также вручную добавляем туда домены, т.е.

virtual_alias_domains = forwarddomain.com

не сработало. Я получаю ошибку

to=<contact@forwardomain.com>, orig_to=<contact@mydomain.com>, relay=mydomain.com[private/dovecot-lmtp], delay=0.07, delays=0.05/0.01/0/0.01, dsn=5.1.1, status=bounced (host mydomain.com[private/dovecot-lmtp] said: 550 5.1.1 <contact@forwarddomain.com> User doesn't exist: contact@forwarddomain.com (in reply to RCPT TO command)).

Вывод postconf -n:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
content_filter = scan:127.0.0.1:10026
inet_interfaces = all
mailbox_size_limit = 0
mydestination = localhost
myhostname = mydomain.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
receive_override_options = no_address_mappings
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/ssl/certs/dovecot.pem
smtpd_tls_key_file = /etc/ssl/private/dovecot.pem
smtpd_use_tls = yes
virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_transport = lmtp:unix:private/dovecot-lmtp

Наконец нашел ответ, оказалось, что postfix пытается подключиться к gmail с помощью ipv6. Чтобы исправить это, настройте ipv6 на сервере или, как я, отключите ipv6 в /etc/postfix/main.cf добавив следующую строку:

inet_protocols = ipv4

и перезапуск постфикса:

перезапуск службы после исправления