Postfix 转发到 Gmail 和本地 UNIX 用户

Postfix 转发到 Gmail 和本地 UNIX 用户

我想将所有发往 的所有电子邮件转发@foo.com[email protected]UNIX 用户baz

我尝试将baz和都添加[email protected]virtual文件中(请参阅下面的配置),但似乎只会将邮件转发到[email protected],而不会将其添加到。日志中也/var/mail/baz没有显示有关投递的错误(甚至在中也没有提及;bazbaz/var/log/mail.log[email protected] 虽然在日志中显示为status=sent,但后面带有 ,后面qmgr显示“已删除”;没有显示有关测试电子邮件的更多信息)。

我是不是遗漏了什么?man 5 virtual@domain address, address, ...被接受为一种模式,所以我思考这应该可以行得通,对吧?

/etc/postfix/main.cf

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
readme_directory = no
compatibility_level = 2

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mailme
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, mailme.foo.com, mailme, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
# Use only ipv4; for some reason ipv6 (used when set to "all") causes "network unreachable" messages in /var/log/mail.log
inet_protocols = ipv4

# Forwarding
virtual_alias_domains = foo.com
virtual_alias_maps = hash:/etc/postfix/virtual

/etc/postfix/virtual

@foo.com        baz, [email protected]

答案1

@foo.com在你的 中/etc/postfix/virtual是一个通配符。(摘自 中的注释/etc/postfix/virtual)。

这意味着,无论是否是本地帐户,所有目的地都[email protected]将被接受。user

在您的virtual文件中,baz不是一个正确的地址,而是一个用户帐户。正确的地址应该是baz@mydomain。当然,mydomain不可能是foo.com也不是子域中的任何内容,除非您想玩无限重写循环。

相关内容