Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am managing a server which mainly deals in relaying mail using virtual alias maps. For some reason unknown to me email that goes through these maps are getting bounced. I've checked to make sure the domains are in my virtual_alias_domains table but they are still bouncing. I've consulted the postfix site but everything seems to be set correctly. How can I diagnose this issue?

Below is information that might be of help:

Aug  2 00:07:01 server2 postfix/smtpd[6729]: NOQUEUE: reject: RCPT from <sender address>: 454 4.7.1 <recipient address>: Relay access denied; from=<sender address> to=<recipient address> proto=ESMTP helo=<sender server>

# postconf -n
alias_database = hash:/usr/local/etc/postfix/aliases
alias_maps = hash:/usr/local/etc/postfix/aliases, hash:/usr/local/etc/postfix/aliases-www
command_directory = /usr/local/sbin
config_directory = /usr/local/etc/postfix
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
debug_peer_level = 2
html_directory = /usr/local/share/doc/postfix
mail_owner = postfix
mailbox_command = /usr/local/bin/procmail
mailbox_size_limit = 524288000
mailq_path = /usr/local/bin/mailq
manpage_directory = /usr/local/man
message_size_limit = 40960000
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
myhostname =
mynetworks = #list of ip's#
myorigin = $mydomain
newaliases_path = /usr/local/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/local/share/doc/postfix
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
setgid_group = maildrop
soft_bounce = yes
unknown_local_recipient_reject_code = 450
virtual_alias_domains = hash:/usr/local/etc/postfix/virtual-alias-domains
virtual_alias_maps = hash:/usr/local/etc/postfix/virtusertable
virtual_mailbox_base = /var/mail
virtual_mailbox_limit = 524288000
share|improve this question
up vote 1 down vote accepted

postconf -d smtpd_recipient_restrictions:
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

postconf -d mynetworks:
mynetworks = <serversSubnet>

might want:
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
mynetworks = <serversSubnet> <clientSubnet>
maybe both

share|improve this answer

So wait. Get your wording right.

When you have virtual_alias_maps then this is to deliver mails to LOCAL mailboxes and not for relaying mails for others.

When you want to relay mails for other domains you need something like transport_maps or relay_domains and relay_recipient_maps.

See this for examples.

How do you logs look like when mails bounce?

share|improve this answer
I am using the maps to sent to remote mailboxes but it still should work: "virtual_alias_maps (default: $virtual_maps) Optional lookup tables that alias specific mail addresses or domains to other local or remote address." My logs only show that “User unknown in virtual alias table”. When I run postmap -q on virtual_alias_domains and virtual_alias_maps it returns the correct result and I've made sure that postfix can read the files. – devnill Aug 5 '11 at 8:56
Show the content of both virtual_alias_* files. – mailq Aug 5 '11 at 9:48

You may want to check that the receiving SMTP server does not have the subject server blocked.

share|improve this answer
None of the servers should blocked. I can receive mail using other transport methods, just not using the mapping. Is there a place I can look to see if I am inadvertently blocking? – devnill Aug 2 '11 at 8:37
"454 4.7.1 <recipient address>: Relay access denied" appears to be from the destination SMTP server. – user48838 Aug 2 '11 at 12:36

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.