Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Jul 1998 02:26:37 -0400
From:      Geovanny Fajardo <fajardo@gate.net>
To:        freebsd-questions@FreeBSD.ORG
Subject:   Sendmail Virtual Host Rule Sets
Message-ID:  <35AEEE9C.D4FCA4A7@gate.net>

next in thread | raw e-mail | index | archive | help
I found this message in the archives and it was very useful to me, but I
still had some
problems getting sendmail  to work so I modified this message with the
information
I used to get sendmail working for me. I'm using FreeBSD 2.2.6-RELEASE.
Remember
that sendmail.cf  has a very sensitive  sintax so do not forget to use
tabs for places where
you see  more than one space between characters.

What you will need to do is first modify sendmail.cf to deal with two
databases in the /etc directory that will handle the aliasing.

1) Add these two lines to sendmail.cf

Kvirtualhosts btree /etc/virtualhosts.db
Kvirtualmasqs btree /etc/virtualmasqs.db

2) Add this rule sets for the return mail masq

S40

R$* < @ $* > $*         $@ $1 < @ $2 >
$3                                   already fully qualified
R$*                                 $: $(virtualmasqs $1 $: $1 @ $M $)
R$* @                            $: $1 @
$j                                                     if $M not defined


 S61

R$* < @ $* > $*         $@ $1 < @ $2 >
$3                                   already fully qualified
R$=E                              $@ $1 < @ $j>
R$+                                 $: $(virtualmasqs $1 $: $1 @ $M $)
R$* @                            $: $1 @
$j                                                     if $M not defined

3) Add this rule set for the virtual hosts

S98

################################
# sendmail for virtual domains #
################################

R$+ < @ $+  . >         $: $1 < @ $2 > .
R$+ < @ $+ > $*         $: $(virtualhosts $1@$2 $: $1 < @ $2 > $3 $)
R$+ < @ $+ > $*         $: $(virtualhosts $2 $: $1 < @ $2 > $3 $)
R$+ < @ $* > .          $: $1 < @ $2 . >

5) For inbound mail:

a) Create /etc/virtualhosts with your favorite text editor, there can be

    as many lines as you want for each virtual host.

virtdomain.com                              john@mydomain.com   (all
mail goes to john)
sam@virtdomain.com                  sam@mydomain.com
webmaster@virtdomain.com      bob@other.domain.com (forward mail to
third system)

b) Create the database virtualhosts.db from virtualhosts with the
makemap
     command (makemap comes with sendmail)

    makemap btree virtualhosts.db  < virtualhosts

6) For outbound mail (they need an account on your system)

 a) Create /etc/virtualmasqs

frank   frank@virtdomain.com
gloria  gloria@virtdomain.com
fred    fred@virtdomain.com

b) Create the database virtualmasqs.db from virtualmasqs with the
makemap
      command

    makemap btree virtualmasqs.db <virtualmasqs


****************************************
EACH TIME YOU ADD ANOTHER VIRTUAL DOMAIN
****************************************
(this is from part of the instructions I give sysop's on our system)

1. Add Cw line in /etc/sendmail.cf

        Cw new.domain.com

2. Add alias to /etc/virtualhosts

        webmaster@new.domain.com        account@real.domain

        run command:

        makemap btree virtualhosts.db < virtualhosts

3. If they have an account on our machine and want mail to look like it
    is coming from their domain.

        add alias to /etc/virtualmasqs

        username        anyname@new.domain.com

        run command:

        makemap btree virtualmasqs.db < virtualmasqs

4. Restart sendmail

        get the pid with

        ps -aux | grep sendmail

        run command:

        kill -HUP sendmail.pid

 NOTE

    If you only changed the virtual hosts and virtualmasqs databases you
do not need to restart sendmail!!!





To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35AEEE9C.D4FCA4A7>