Incoming
E-mail messages can be sorted based on the recipient domain name with thevirtusertable utility.
Because user accounts are not directly associated with any specific domain
names, a virtusertable must be used
to differentiate between recipient domain names. For example, a virtusertable
mapping will allow you to direct E-mail messages forwebmaster@mydomain.name and webmaster@subhost.name to different users on your VPS v2.
Configuring
Virtusertable mappings
In order to create virtusertable
mappings, you must first create a text file in the /etc/mail/directory of your server
(there is a sample file in that directory named virtusertable.sample). This file will
contain virtusertable mappings.
Each entry in a virtusertable
should be on a single line. The original recipient address on the left hand
side, with one or more spaces or tabs separating it from the right hand side,
which contains the destination address. Using the example above, the virtusertable
mapping would be as follows:
webmaster@mydomain.name tom
webmaster@subhost.name steve
The original recipient is the
E-mail address that people will send messages to, and can be either a full
address (username@domain.name),
or a catch all for all messages to the specified domain (@domain.name).
If you want to create multiple virtusertable entries for a single domain, make
sure that you put the catch all below any other entries for that same domain
name. For example:
webmaster@mydomain.name tom
support@mydomain.name someuser@hotmail.com
john@mydomain.name john
@mydomain.name john
The destination address should be
a local user, an alias, or a remote E-mail address. You may also use a %1 to indicate that the original
user should be prepended to a catch all.
Any time you make a change to the /etc/mail/virtusertable text file, you will need to create a
db file that sendmail can read. The following command
will create the/etc/mail/virtusertable.db file when run by root:
# makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
Alternatively, a shorter version
of this same command can be used:
# vnewvirtmaps
Example
Virtusertable Entries
The following entry would deliver
any message sent to floyd@example.com to the local account floydr.
floyd@example.com floydr
The next entry will deliver a
message sent to john@example.com to his personal E-mail account with
his ISP.
john@example.com jfranklin@my-isp.com
Any other E-mail sent to the super-host.com domain will go to Floyd's local
account.
@super-host.com floydr
Anything sent to a user at example.net will be sent to example.com, but will not
change the username the message was originally sent to (only the domain is
modified).
@example.net %1@example.com
The following entry will reject
mail addressed to any address at the example.net domain that isnot defined in the virtusertable file. The sender will receive an
appropriate error code plus the description, "User unknown."
@example.net error:nouser User unknown
No comments:
Post a Comment