Forwarding a Postfix Virtual Alias to /dev/null
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:
juliet@example.com juliet@example2.com |
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):
do-not-reply@example.com devnull |
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
command:
postmap -q do-not-reply@example.com /etc/postfix/virtual/dbfile |
You should see the correct alias returned.
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