Я настроил Голубятню и Постфикс с помощью этого учебного руководства, которое работает на получение и отправку почты. Псевдонимы также хорошо работают, хотя только для локальных пользователей. Т.е. Я могу сделать вперед от noaddress@mydomain.com до realaddress@mydomain.com, где только realaddress определяется как виртуальный пользователь (использующий MySQL). То, что я хочу сделать, передать внешнему адресу, такому как Gmail или другой mailserver. Все мои файлы конфигурации точно как указаны в ссылке выше. Я попытался добавить
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
и перезапустите postfix:
service postfix restart