The first step is to make sure that the following feature is included in your sendmail.mc file prior to installing Sendmail:
FEATURE(`virtusertable', `dbm /etc/mail/virtusertable')dnl
This lets Sendmail know that you will be creating a virtual user table to allow support for multiple domains.
Once that is set up and Sendmail is installed, you can work with virtual hosting by using the file /etc/mail/virtusertable, which will look something like this:
The first argument above is the intended recipient as received by Sendmail, and the second argument is the target is for local delivery (or for forwarding to another Internet e-mail address). On mail servers that host mail for many domains, it might be a good idea to create a separate file for each domain and concatenate them with a simple script.
After creating the necessary /etc/mail/virtusertable, there's one more step: A database must be created. Sendmail will not load the plain text file in this case but will look for virtusertable.db. You can create this file with the following command (run as root):
makemap dbm /etc/mail/virtusertable < /etc/mail/virtusertable