Postfix illegal address syntax
My postfix install is set up to forward all email going to example.com
to my other mail server at mail.example.net
. This works fine for all addresses except [email protected]
-- the example.com
server spits out Illegal address syntax from
in the logs and501 5.1.3 Bad recipient address syntax
to the client,
How can I tell postfix to forward [email protected]
as well? Wikipedia says that !
is valid for the local part.
My configuration is as follows:
main.cf
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
/etc/aliases
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
mime_header_checks
/^Received: (from|by) mail\.example\.net/ IGNORE
/^Message-ID:\s+<(.*?)@mail.example.net>/ REPLACE Message-ID: <[email protected]>
tls_policy
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
transport
example.com smtp:mail.example.net
Big Warning
Generally including special character like !
or %
in the local part of an address is usually a bad idea. Exclamation mark a.k.a ! is a site separator in ancient UUCP addresses. For the safety, you should limit local part of email address to common characters such as [A-Z][a-z][0-9]-.+
. It will preserve compatibility across other mailserver in this planet.
However if you insist to use the bang !
to alias, then you may change this parameter value in main.cf
swap_bangpath = no
References: here and here