Virtual Domains and qmail
If you have hundreds of users for a virtual domain, you can avoid the hundreds of .qmail-xxx files with a small script that calls qmail's forward command.
Instead of creating individual .qmail-xxx files in the virtual domain master user's home directory, create a single .qmail-default file containing the following line:
with /home/master/qmail_db modified to reflect the home directory of your virtual domain. You can then create (or adapt from your existing /etc/aliases) the file /home/master/qmail_db, consisting of lines with the virtual domain user, a colon and the forwarding address(es). The special user name “-” indicates where mail should be forwarded for any users not explicitly listed. If the “-” user name is not provided, mail for nonexistent users will be bounced. A sample qmail_db file might look like this:
-: email@example.com john.smith: firstname.lastname@example.org carl.jones: email@example.com karen.quincy: kquincy all: firstname.lastname@example.org email@example.com kquincyNote the forwarding addresses for the “-” user must be an actual address; otherwise, mail to nonexistent addresses in the virtual domain will be accepted, but not delivered to anyone.
A more substantial package for supporting /etc/aliases, qmsmac, is available with qmail. qmsmac supports arbitrarily deep-nested aliases and long aliases but, like sendmail, requires you to rebuild a database of aliases every time your /etc/aliases file is changed.
qmail appears to be a speedy and robust replacement for sendmail. We've had qmail running on our Linux Internet server for many months now without a single glitch. The additional features provided by qmail could be useful to those of you hosting several virtual domains from a single Linux box, and the simpler configuration is an added bonus.
- Readers' Choice Awards--Nominate Your Apps & Gadgets Now!
- Give new life to old phones and tablets with these tips!
- Memory Ordering in Modern Microprocessors, Part I
- Tech Tip: Really Simple HTTP Server with Python
- diff -u: What's New in Kernel Development
- RSS Feeds
- Source Code Scanners for Better Code
- Security Hardening with Ansible
- Returning Values from Bash Functions