freebsdhelp.org as examples in my article as freebsd.org is the main box and freebsdhelp.org is the virtual
domain hosted on freebsd.org.
*=- The easy way assuming sendmail.cf compiled with the correct features:
Most recent sendmail source are compiled with the needed FEATURES such as "FEATURE(virtusertable, `hash -o
/etc/mail/virtusertable')dnl" and "FEATURE(access_db, `hash -o /etc/mail/access')dnl" in the sendmail.mc file assuming
you installed freebsd normally with sendmail which these features are already included in the freebsd.mc
(/usr/src/etc/sendmail/freebsd.mc) 3 steps is needed to do virtual email aliasing for freebsdhelp.org over freebsd.org main box
1. edit your sendmail.cw with any text editor such as vi(1) or ee(1) and place all
domains that uses sendmail as their mailer deamon in this file, usually at
/etc/sendmail.cw
or /etc/mail/sendmail.cw list them , save and exit.
* your sendmail.cw will look like this listening:
sendmail.cw>
freebsd.org
freebsdhelp.org
anyotherdomain.org
sendmail.cw<
- YOU NEED TO RESTART SENDMAIL TO READ THE NEW ENTRIES SEND A SIGNAL HUP TO SENDMAIL
BY 'killall -HUP sendmail'
2. you have to make access for the virtual domain to access your sendmail by adding them
to /etc/mail/access file and making the database file access.db .
* your /etc/mail/access will look something like this here seperating the domainname and
RELAY with
access>
freebsd.orgRELAY
freebsdhelp.orgRELAY
anyotherdomain.comRELAY
access <
* save and exit and then you have to create access.db while your at /etc/mail/ do this
- makemap hash access < access
- YOU HAVE TO UPDATE YOUR 'access.db' EVERYTIME YOU ADD NEW DOMAIN , PLUS YOU DON'T HAVE
TO RESTART SENDMAIL.
3. Finally to the virtusertable file edit the file /etc/mail/virtusertable and start your aliases
there i'll mention some examples of virtusertable entries
A. assume you want to alias admin@freebsdhelp.org to other LOCAL user on the same server
*MAKE SURE ALL ENTRIES ARE SEPERATED WITH
virtusertable>
admin@freebsdhelp.org john
virtusertable<
B. assume you want to alias dave@freebsdhelp.org to other FOREIGN user on other server:
virtusertable>
dave@freebsdhelp.org dave@yahoo.com
virtusertable<
C. assume you want to alias all emails coming on freebsdhelp.org to one LOCAL user and
still you want your admin@freebsdhelp.org and dave@freebsdhelp.org works:
virtusertable>
admin@freebsdhelp.orgj ohn
dave@freebsdhelp.org dave@yahoo.com
@freebsdhelp.org big
virtusertable <
D. the same of the above but to a FOREIGN user:
admin@freebsdhelp.org john
dave@freebsdhelp.org dave@yahoo.com
@freebsdhelp.org big@kuwaitnet.net
* save and exit and then you have to create virtusertable.db while your at /etc/mail/ do this
- makemap hash virtusertable < virtusertable
- YOU HAVE TO UPDATE YOUR 'virtusertable.db' EVERYTIME YOU ADD NEW ALIASES , PLUS YOU DON'T
HAVE TO RESTART SENDMAIL.
*=- The hard way if your sendmail.cf is compiled without correct features:
A. First of all you have to creat your sendmail.mc including the following to enable virtual hosting with sendmail:
FEATURE(access_db, `hash -o /etc/mail/access')dnl
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')dnl
After adding them to your sendmail.mc compile it and install it while this article isn't a sendmail installation
guide i wont talk more about it, for more info on SENDMAIL(8) can be found at http://www.sendmail.org
B. Go back to the first section and continue the job.