我已经使用这个教程设置了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
并重新启动后缀:
服务后缀重新启动