Postfix 非法地址语法

pQB*_*426 2 postfix configuration

我的 postfix 安装设置为将所有电子邮件转发到example.com我的其他邮件服务器(位于 )mail.example.net。这对于所有地址都适用,除了!@example.com——服务器在日志中example.com吐出并发送给客户端,Illegal address syntax from501 5.1.3 Bad recipient address syntax

我如何告诉 postfix!@example.com也进行转发?维基百科说这!对本地部分有效。

我的配置如下:

主文件

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_size_limit = 0
mydestination = mail.example.com, localhost
relay_domains = example.com
myhostname = mail.example.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.10.10.10/32
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_header_checks = regexp:/etc/postfix/smtp_header_checks
smtp_tls_fingerprint_digest = sha1
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
transport_maps = hash:/etc/postfix/transport
Run Code Online (Sandbox Code Playgroud)

/etc/别名

mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
Run Code Online (Sandbox Code Playgroud)

mime_header_checks

/^Received: (from|by) mail\.example\.net/ IGNORE
/^Message-ID:\s+<(.*?)@mail.example.net>/ REPLACE Message-ID: <$1@mail.example.com>
Run Code Online (Sandbox Code Playgroud)

tls_策略

mail.example.net fingerprint
   match=00:01:02:03:04:05:06:07:08:09:10:11:12:13:14:15:16:17:18:19:20
Run Code Online (Sandbox Code Playgroud)

运输

example.com smtp:mail.example.net
Run Code Online (Sandbox Code Playgroud)

tpm*_*ml7 5

大警告

通常,在地址的本地部分中包含特殊字符(例如!或 )通常是一个坏主意。%感叹号又名!是古代UUCP 地址中的站点分隔符。为了安全起见,您应该将电子邮件地址的本地部分限制为常见字符,例如[A-Z][a-z][0-9]-.+. 它将保持与这个星球上其他邮件服务器的兼容性。


但是,如果您坚持使用 bang!作为别名,那么您可以更改此参数值main.cf

swap_bangpath = no
Run Code Online (Sandbox Code Playgroud)

参考资料:这里这里