Я установил 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
и перезапуск постфикса:
перезапуск службы после исправления