Postfix 别名仅转发给本地用户

Postfix 别名仅转发给本地用户

我已经使用以下方式设置了 Dovecot 和 Postfix教程,用于接收和发送邮件。别名也很好用,尽管只适用于本地用户。即我可以从[电子邮件保护][电子邮件保护],其中只有 realaddress 被定义为虚拟用户(使用 MySQL)。我想要做的是转发到外部地址,例如 Gmail 或其他邮件服务器。我的所有配置文件都与上面的链接中所述完全一致。我尝试添加

虚拟别名域 =

到 postfix/main.cf,但这并没有解决任何问题。

还可以手动添加域名,例如

虚拟别名域名 = 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 的输出:

别名数据库 = 哈希:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = 没有
配置目录 = /etc/postfix
content_filter = 扫描:127.0.0.1:10026
inet_interfaces = 全部
邮箱大小限制 = 0
mydestination = 本地主机
myhostname = mydomain.com
我的网络 = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = 否
接收覆盖选项 = 无地址映射
收件人分隔符 = +
中继主机 =
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_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
虚拟传输 = lmtp:unix:private/dovecot-lmtp

答案1

终于找到了答案,原来 postfix 正在尝试使用 ipv6 连接到 gmail。要解决此问题,请在服务器上配置 ipv6,或者像我一样,/etc/postfix/main.cf通过添加以下行来禁用 ipv6:

inet_protocols = ipv4

并重新启动 postfix:

服务 Postfix 重启

相关内容