我已经使用这个教程设置了Dovecot和Postfix,它可以用来接收和发送邮件。 别名也可以正常工作,但只适用于本地用户。 即我可以从[email protected]转发到[email protected],其中只有realaddress被定义为虚拟用户(使用MySQL)。 我想要做的是转发到外部地址,如Gmail或其他邮件服务器。 我所有的configuration文件都完全符合上面的链接。 我试过添加
virtual_alias_domains =
到postfix / main.cf,但是没有解决任何问题。
也手动添加域,即
virtual_alias_domains = forwarddomain.com
没有工作。 我得到的错误是
to=<[email protected]>, orig_to=<[email protected]>, 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 <[email protected]> User doesn't exist: [email protected] (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 =扫描: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 =是 smtpd_sasl_path = private / auth smtpd_sasl_type = dovecot smtpd_tls_auth_only =否 smtpd_tls_cert_file = /etc/ssl/certs/dovecot.pem smtpd_tls_key_file = /etc/ssl/private/dovecot.pem smtpd_use_tls =是 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
终于find了答案,原来后缀正在尝试使用ipv6连接到gmail。 要解决这个问题,请在服务器上configurationipv6,或像我一样,通过添加以下行禁用/etc/postfix/main.cf
的ipv6:
inet_protocols = ipv4
并重新启动后缀:
服务后缀重新启动