Forwarding a Postfix Virtual Alias to /dev/null
October 19, 2009
It's poor practice to send out email from email addresses that don't
resolve, and may mean your mail ends up in a spamtrap. But sometimes you want to use a
"do-not-reply" type of email address, and you don't want to have to mass-delete
the mailbox at intervals.
The usual solution is to forward to /dev/null, and in a local-only
setup you could do that in /etc/aliases:
However, if you're using Postfix virtual domains, it gets a little more
complicated. With virtual domains/users, you can't forward mail to a file. It
must go to a user or an email address, like this:
However, what you can do is set up an alias user in /etc/aliases:
and then point to that in your virtual domain database file (which should be
somewhere in /etc/postfix/virtual/, or it may be the
/etc/postfix/virtual file itself):
After you've made the change, run postmap /etc/postfix/virtual/dbfile
and reload Postfix. You can check if the alias is properly set up with the
You should see the correct alias returned.
postmap -q firstname.lastname@example.org /etc/postfix/virtual/dbfile
One last gotcha: On some systems, the /etc/aliases change may not
work unless that user (devnull) already exists on the system. You
may well already have a nobody user in /etc/passwd (one with
a nonexistent home directory and no login shell), which you can use in place
of devnull in /etc/aliases; otherwise you can set up a
devnull user to operate similarly.
Juliet Kemp has been messing around with Linux systems, for financial reward and otherwise, for about a decade. She is also the author of "Linux System Administration Recipes: A Problem-Solution Approach" (Apress, 2009).
Follow ServerWatch on Twitter