sendmail-FAQ.txt contains these sections: ++++++++ sendmail-dialup-masquerading-FAQ.txt ++++++++++ ++++++++ sendmail-envelope-revaliases-FAQ.txt ++++++++++ ++++++++ sendmail-unknown-domain-FAQ.txt ++++++++++ ++++++++ sendmail-mailertable~DNS-FAQ.txt ++++++++++ ++++++++ sendmail-virtuals-FAQ.txt ++++++++++ Please note that while these FAQ's do contain sendmail.cf or m4-source code samples, these are somewhat dated, and from unknown sendmail.cf versions, so the right thing to do is to get the proper http://www.lege.com/proto.html cf/m4/proto.m4 patch! There you will also find finished sendmail.cf's under cf/cf/obj. Each section is separated by a three-line header like so: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++ sendmail-dialup-masquerading-FAQ.txt ++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ On Fri, 17 Oct 1997, SI-POER wrote: > Hi, > I have read your HOWTO document about sendmail > (Linux Mail-Queue). I tested it and it worked just fine. > > I am using Slackware linux 2.0.30 on my PC; sipoer.makro.co.id. > > But I still have a little bit of a problem with alising. > We have a domain on the Internet named makro.co.id. > We use dialup connection. > Our ISP have set up their server so that every mail that come to > our domain (makro.co.id) will be sent to 1 mailbox (that are > named mmbox). I use fetchmail+procmail to collect and deliver > mail from the Internet to the local users. I do that also. Maybe you are interested in my .fetchmail and .procmailrc scripts for this? Please say so if you are! > The problem is in the configuration of the email clients. > All email-clients connect to sipoer.makro.co.id, so I have > configured the From-addresses of the clients to > user@sipoer.makro.co.id. > This works OK if we just exchange mail in the local domain. > When we send to the Internet, the receipent could not reply to > our mail, because we were usingh sipoer.makro.co.id and not > makro.co.id. If I set a From-address of: user@makro.co.id, > this will work well for communiction on the Internet, but all > local mail will be sent to the ISP server. > > I am very confused and I'll be very happy if you can help me. I'm not suprised. It is confusing at first. Actually, unless you perform a number of steps that I have included in this mail, it would probably continue to be confusing indefinitely. So I'll help you out, read on... It is actually some parts of the patch mentioned below that makes it all possible. The patch is a patch to sendmail's configuration-tree, not to sendmail itself. > Regard's > > Purwanto Hi SI-POER, Your questions are relevant and intelligent, and show that you know what you are talking about. I think I do understand your situation, especially since it very closely resembles my own. Since your case is such a good example, do you mind if I use your mail in a FAQ on my www site? [He didn't. /Leif] Let me draw a table comparing our two setups, and then you can download some stuff from my www-site that includes my setup and by simply doing some editing and set up a couple of files (more than a couple, actually) you should be able to duplicate my setup so it suits your situation: Your setup: My setup: sipoer.makro.co.id elijah.swip.net makro.co.id lege.com user@sipoer.makro.co.id user@elijah.swip.net user@makro.co.id user@lege.com OK. If you do the above substitutions you should be able to use my examples. (My examples solve some other problems as well, so for this simple problem it may seem as gross overkill. But it is available, and it works. What can I say... :-) It is very likely that there exists a far simpler solution to your problem. I might even have ideas, but nothing as tested as the stuff that follows, that is proven to work and work well on multiple OS and hardware platforms -- though only the Linux specific parts are available on my www site.) Now visit URL http://www.lege.com/proto.html And download Sendmail cf-8.8.7/m4/proto-patch-8.8.7 or whatever version sendmail you have got -- though I recommend installing and using latest sendmail, which as far as I know is 8.8.7. (Run /usr/sbin/sendmail -d | head -1 ^C to find out which version of sendmail you've presently got. Even if you already have 8.8.7 you probably should still get hold of the latest sendmail source -- not available from my site - but try ftp.sendmail.org -- in order to get hold of the cf config source tree, that is found under src/cf in the sendmail source tree.) [Actually, proto-patch-8.8.8 is now available, and even later versions may be available by the time you read this FAQ. Go look for yourself, I will not keep this FAQ updated with the latest version numbers. / Leif Erlingsson [Nov 17 1997]] Also download xaliases-2.0.tar.gz Unpack xaliases-2.0.tar.gz: mkdir -p /usr/local/src cd /usr/local/src tar -zxvf /tmp/xaliases-2.0.tar.gz Note that the file /usr/local/src/xaliases-2.0/INSTALL is completely OK, and valid, but suggests to unpack xalparse-1.4 in a different location than what the following advice advocates. (It doesn't really matter which way you do it as long as you select ONE of the methods! :-) ) You may safely ignore the file /usr/local/src/xaliases-2.0/INSTALL if you follow the below advice... Extract xalparse-1.4.tar.gz from xaliases-2.0.tar.gz: mv /usr/local/src/xaliases-2.0/xalparse-1.4.tar.gz \ /tmp/xalparse-1.4.tar.gz Unpack xalparse-1.4.tar.gz: mkdir -p /usr/src cd /usr/src tar -zxvf /tmp/xalparse-1.4.tar.gz Make and install xalparse-1.4: cd /usr/src/xalparse-1.4/ida/aux make 2>&1 | tee LEGE-make-log.txt make install 2>&1 | tee LEGE-make-install-log.txt This will have installed the ``xalparse'' program. It's man-page describe the format of the /etc/xaliases file. There is also a sample /etc/xaliases file, as well as other sample files, under the /usr/local/src/xaliases-2.0/etc directory. Install xaliases-2.0: cp -p /usr/local/src/xaliases-2.0/xaliases \ /usr/local/bin cd /usr/bin ln -s /usr/local/bin/xaliases xaliases This installs /usr/local/bin/xaliases and makes a soft link to /usr/bin/xaliases. Copy sample files to etc directory: cp -p /usr/local/src/xaliases-2.0/etc/* /etc This will install the files /etc/mailertable, virtuals, xaliases. Study them. You will not need /etc/mailertable for your needs, so you will not need to edit it. Everything is commented out in the sample file. /etc/virtuals is interesting indeed for you, as is /etc/xaliases. Make SURE that you MERGE your present /etc/aliases file with /etc/xaliases BEFORE you run /usr/local/bin/xaliases for the first time - BECAUSE /usr/local/bin/xaliases will GENERATE /etc/aliases FROM /etc/xaliases!!! Remember the table comparing our two setups?.... Your setup: My setup: sipoer.makro.co.id elijah.swip.net makro.co.id lege.com user@sipoer.makro.co.id user@elijah.swip.net user@makro.co.id user@lege.com Now edit /etc/xaliases and /etc/virtuals so my stuff is changed into your stuff: sed -e 's/elijah.swip.net/sipoer.makro.co.id/g' \ < /etc/virtuals \ | sed -e 's/lege.com/makro.co.id/g' \ > /etc/virtuals. \ && mv /etc/virtuals. /etc/virtuals sed -e 's/elijah.swip.net/sipoer.makro.co.id/g' \ < /etc/xaliases \ | sed -e 's/lege.com/makro.co.id/g' \ > /etc/xaliases. \ && mv /etc/xaliases. /etc/xaliases Then hand-edit both /etc/xaliases and /etc/virtuals so usernames etc work for your site. OK. Now you have the tools. And the config files. Except for the most important one; sendmail.cf ... You will also need a /etc/sendmail.cw, that can be empty if you define Cw in the /etc/sendmail.cf, or else, if not, should contain the line sipoer.makro.co.id You do specifically *NOT* need to have makro.co.id in this file!!! That's what /etc/virtuals and /etc/xaliases are for!!! (It is gross overkill using virtual email domains for this, but it does work! And the fun thing is you can use exactly the same config for virtual domain hosting as an Internet Service Provider!!!) So, You need to install a new sendmail.cf. That is what the "Sendmail cf-8.8.7/m4/proto-patch-8.8.7" is for! URL http://www.lege.com/proto.html explains the procedure, but I'll repeat it here (I assume you removed the .bin ending already when downloading, as the www page suggests): Assuming you fetched the 8.8.7 version, here's an example: cd /usr/src/sendmail-8.8.7/cf cp -p ostype/linux.m4 ostype/linux.m4.yourname gzip -dc < /tmp/sendmail-8.8.7-cf-cpio-idcmu.gz | \ cpio -idcmu These files are unpacked... 76068 Aug 16 16:02 README 3013 Aug 16 16:02 README-patch-8.8.7 74739 Jul 6 23:58 README.orig 10570 Aug 16 22:24 cf/elijah.smtp.mc 130 Dec 13 1996 cf/make_elijah 120 Jun 27 10:55 cf/make_ruth 38475 Aug 16 22:34 cf/obj/elijah.smtp.cf 14386 Aug 16 22:35 cf/obj/ruth.smtp.cf 4391 Aug 16 22:30 cf/ruth.smtp.mc 13962 Mar 18 21:00 domain/elijah.m4 4099 Jul 30 01:14 domain/ruth.m4 12176 Aug 16 16:10 m4/proto-patch-8.8.7 38942 Aug 16 16:12 m4/proto.m4 31529 Aug 1 02:26 m4/proto.m4.orig 3484 Aug 16 21:33 ostype/linux.m4 1953 Apr 7 23:39 ostype/linux.m4.orig 2006 Jul 28 01:16 ostype/linux.patch Now I suggest you generate your own files using my files as examples... use handy "sed" to get a head start!!!.... cd /usr/src/sendmail-8.8.7/cf sed -e 's/elijah.swip.net/sipoer.makro.co.id/g' \ < cf/elijah.smtp.mc \ | sed -e 's/lege.com/makro.co.id/g' \ | sed -e 's/swip.net/makro.co.id/g' \ | sed -e 's/swipnet.se/makro.co.id/g' \ | sed -e 's/elijah/sipoer/g' \ > cf/sipoer.smtp.mc sed -e 's/elijah.swip.net/sipoer.makro.co.id/g' \ < domain/elijah.m4 \ | sed -e 's/lege.com/makro.co.id/g' \ | sed -e 's/swip.net/makro.co.id/g' \ | sed -e 's/swipnet.se/makro.co.id/g' \ | sed -e 's/elijah/sipoer/g' \ > domain/sipoer.m4 sed -e 's/elijah.swip.net/sipoer.makro.co.id/g' \ < cf/make_elijah \ | sed -e 's/lege.com/makro.co.id/g' \ | sed -e 's/swip.net/makro.co.id/g' \ | sed -e 's/swipnet.se/makro.co.id/g' \ | sed -e 's/elijah/sipoer/g' \ > cf/make_sipoer chmod 755 cf/make_sipoer cd /usr/src/sendmail-8.8.7/cf/cf Now study cf/sipoer.smtp.mc, domain/sipoer.m4, ostype/linux.m4 and possibly m4/proto-patch-8.8.7. Edit as needed. Since you already are using procmail, ostype/linux.m4 should be just fine for you, it's configured for procmail already. You mustn't forget to edit domain/sipoer.m4 ... define(`PSEUDODOMAINS', `BITNET CSNET UUCP DECNET FAX')dnl dnl # The site that will handle lusers -- that is, apparently dnl # local names that aren't local accounts or aliases: define(`LUSER_RELAY', `relay:rsv.se')dnl This is at my OLD job MASQUERADE_AS(`mailbox.makro.co.id')dnl The above is -- after editing into your domains -- my ISP mailbox computer. It doesn't make much difference what it says here for my setup, because all my users reverse-aliases into the lege.com domain anyway. But if they didn't, they would have been presented as user@mailbox.makro.co.id, or rather, user@mailbox.swipnet.se, as it was before the earlier sed-edits. FEATURE(`masquerade_envelope')dnl The above is vital for being able to reverse-alias into any domain of the users choise. This is how I can ``Masquerade As'' one domain, ``mailbox.makro.co.id'', but still being able to present myself as ``user@makro.co.id'', or in my own case, ``leif@lege.com''. (My case is further complicated by the fact that ``LEGE.COM'' is really not assigned to my home computer but to another computer on the net that I have access to.) These You will need to edit: define(`SMART_HOST', `smtp8:mailbox.makro.co.id')dnl #UGLY#HACK##UGLY#HACK# dnl define(`SMART_HOST', `smtp:mailbox.makro.co.id')dnl This is your ISP mail-host, where you'll send mail you cannot figure out locally what to do with. If your ISP don't want you to do this, you must comment out these lines, put a ``dnl'' in front of both (one is already commented out). You may want to remove the smtp8 version and replace with the plain smtp version unless you know for a fact that your ISP handles 8bit MIME. Finally, a note about this ruth computer. Ruth is a different computer that NFS-mounts just about everything from my other computer. The ruth config is extremely stripped down, and just for sending of mail. No mail is ever delivered on ruth, it is delivered on the other computer and read using NFS-mounted file- systems by ruth. When satisfied, generate /usr/src/sendmail-8.8.7/cf/obj/sipoer.smtp.cf like so: cd /usr/src/sendmail-8.8.7/cf/cf && ./make_sipoer Compare /usr/src/sendmail-8.8.7/cf/obj/sipoer.smtp.cf with your present /etc/sendmail.cf, and when you are satisfied with the changes and that the essentials are still there, make a backup of /etc/sendmail.cf then copy obj/sipoer.smtp.cf over /etc/sendmail.cf: cp -p /etc/sendmail.cf /etc/sendmail.cf.sav cp -p /usr/src/sendmail-8.8.7/cf/obj/sipoer.smtp.cf \ /etc/sendmail.cf \ && chmod 644 /etc/sendmail.cf Kill sendmail, then run xaliases (/usr/local/bin/xaliases) and then re-start sendmail again: kill `ps -aux | grep sendmail | grep -v grep \ | awk '{print $2}' ` xaliases /usr/sbin/sendmail -bd -os Make some tests using sendmail's address test mode; /usr/sbin/sendmail -bt /parse user@sipoer.makro.co.id /parse user@makro.co.id ^D Make sure you are DISCONNECTED from the Internet, then... Make some more authentic tests using: /usr/sbin/sendmail -v -oi user@sipoer.makro.co.id From: testuser@makro.co.id To: user@sipoer.makro.co.id Subject: /usr/sbin/sendmail -v -oi user@sipoer.makro.co.id /usr/sbin/sendmail -v -oi user@sipoer.makro.co.id ^D And: /usr/sbin/sendmail -v -oi user@makro.co.id From: testuser@makro.co.id To: user@makro.co.id Subject: /usr/sbin/sendmail -v -oi user@makro.co.id /usr/sbin/sendmail -v -oi user@makro.co.id ^D Check with "mailq" that these have been delivered already. Then send a testmail to me (still DISCONNECTED from the Internet): /usr/sbin/sendmail -v -oi leif@lege.com From: testuser@makro.co.id To: leif@lege.com Subject: /usr/sbin/sendmail -v -oi leif@lege.com /usr/sbin/sendmail -v -oi leif@lege.com ^D IMPORTANT: When you invoke /usr/sbin/sendmail on the commandline as the above examples show, you don't get a prompt but are feeding your key-input from the keyboard directly into STDIN of sendmail. When I have indicated multiple lines, input multiple lines exactly as I typed them above. When you come to the line with the "^D" on it, that is an indication that you should press CTRL and D keys together to generate the "EOF" character. When sendmail receives this, input on STDIN is terminated, sendmail processes the input and the prompt is returned to you after some verbose output has been printed on the screen. __________________________________________________________________ Leif Erlingsson Tel +46 8 604-0995 DATA LEGE Fax +46 8 605-2551 Glavagatan 33 URL http://www.lege.com 123 71 Farsta, Sweden Email mailto:leif@lege.com __________________________________________________________________ I remember the past. I am not doomed to buy Microsoft products. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++ END OF sendmail-dialup-masquerading-FAQ.txt ++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Each section is ended with a footer like the one above, and each new section does of course start with a new three-line header: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++ sendmail-envelope-revaliases-FAQ.txt ++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Date: Tue, 14 May 1996 18:32:11 +0200 (MET DST) From: Leif Erlingsson To: Mark Subject: What I did yesterday: Sorry, nothing for You (though the feature might be used for some customer one day), but rather for myself. I had *one* remaining and irritating problem with my home sendmail setup; Return-Path: The Return-Path: was leif@localhost.swip.net or something like that because the only IP number I can rely on is the loopback interface: 127.0.0.1 localhost elijah.swip.net \ elijah.swipnet.se elijah With all other headers, masquerading and reverse aliasing fixed the return addresses nicely, but with envelope-masquerading, all I got was Return-Path: leif@mailbox.swipnet.se, rather than Return-Path: leif@localhost.swip.net and neither one of them is any good! I believe this header is used by other sendmails to send back error and status reports (when it is present). I have my box configured to believe it is in domain swip.net, and most of the time it believes it is named elijah. But since the first entry after 127.0.0.1 is localhost, I guess sendmail thinks the envelope should be localhost.swip.net if there is no envelope-masquerading. But not even envelope-masquerading could save me, as `leif' is not a valid user at mailbox.swipnet.se. So in order to be absolutely sure that no bounces etc was lost to me, I worked all night and finally had a new feature: If xaliasing is activated in the m4 / mc - sendmail configuration files, and if envelope-masquerading is also enabled, then the envelope will instead be reverse-aliased, rather than masqueraded! Here's the changes to proto.m4 as of tonight --- and they work with earlier changes to the same file in S93. The current changes are to S94: S94 define(`X', ifdef(`_XALIASES_', ifdef(`_MASQUERADE_ENVELOPE_', `', `#'), `#'))dnl X`'R$* < @ *LOCAL* > $* $: $(generics $1@$j $: $1 < @ *LOCAL* > $2 $) X`'R$* < @ *LOCAL* > $* $: $(generics $1@$k.$m $: $1 < @ *LOCAL* > $2 $) X`'R$+ < @ $+ > $* $@ $>93 $1 < @ $2 > $3 already canonical X`'R$* < @ > $* $@ $>93 $1 < @ > $2 already canonical X`'R$+ @ $+ $: $1 < @ $2 > focus on domain X`'R$+ < $+ @ $+ > $1 $2 < @ $3 > move gaze right X`'R$+ < @ $+ > $: $>96 $1 < @ $2 > already canonical undefine(`X')dnl ifdef(`_MASQUERADE_ENVELOPE_', `', `#')dnl R$+ $@ $>93 $1 ifdef(`_MASQUERADE_ENVELOPE_', `#', `')dnl R$* < @ *LOCAL* > $* $: $1 < @ $j . > $2 The original code was the last 4 lines. Plus `S94' of course. The cruical line is this line: X`'R$* < @ *LOCAL* > $* $: $(generics $1@$k.$m $: $1 < @ *LOCAL* > $2 $) When X is *not* equal to `#', this line matches a local sender and looks up sender@$k.$m in the database, where $k in my case is elijah, as defined by the `hostname` program, and $m is swip.net, defined by /etc/resolv.conf. The first line is useless as $j for reasons not fully clear to me at this piont has the value localhost.swip.net, whereas it in other rules and places in the configuration it has the value elijah.swip.net. Sendmail is in control over this value. If I didn't add the second line, I would have to have double reverse aliases for every person, one with the `elijah' value and one with the `localhost' value. I did this when testing this solution out. (It is absolutely neccessary for other reasons to have localhost first on that /etc/hosts line.) As it now is, my sendmail is in total control, and all headers that make any difference is properly masqueraded on my home system - look & see! I have not activated envelope-masquerading on dispatch, but it is very easy to do so, if You want to satisfy a customer who wants mail sent out from his user on dispatch (a mailbot running as someuser@hisdomain.com) to hide the fact that hisdomain.com is not the canonical domain name for the host. But I doubt anyone will care. What *is* nice is that this solution is very well suited for us dial-up-internet guys with dynamically assigned IP numbers. I actually have my elijah's sendmail believe (through Cw lege.com) that lege.com is MX'd to itself. I can still send mail to the real lege.com thanks to virtual domains! This allows me to test things locally. And to mail local users using user@lege.com without going out on the internet! Cool! Soon I'll have to present it all on the webb! [And *that* sure took it's time ;-) -- but now it's all out there, and you need to get the latest cf/m4/proto.m4 patches from http://www.lege.com/proto.html. As of this writing, 18 Nov 1997, the following versions of sendmail are supported: sendmail-8.8.8, sendmail-8.8.7, sendmail-8.8.6, sendmail-8.8.5, sendmail-8.8.4 and sendmail-8.7.3. It is also highly recommended that you obtain http://www.lege.com/xaliases-2.0.tar.gz.bin for the xalparse and xaliases programs and configuration files.] Here's the previously hacked S93: S93 R$=E < @ *LOCAL* > $@ $1 < @ $j . > leave exposed R$=E < @ $=M . > $@ $1 < @ $2 . > # don't masquerade for domains that are mentioned in xaliases (reverse aliases) ifdef(`_LIMITED_MASQUERADE_XALIASES_', `', `#')dnl R$=E < @ $=N . > $@ $1 < @ $2 . > probably xalias ifdef(`_LIMITED_MASQUERADE_', `#')dnl R$=E < @ $=w . > $@ $1 < @ $2 . > R$* < @ $=M . > $* $: $1 < @ $2 . @ $M > $3 convert masqueraded doms # don't masquerade for domains that are mentioned in xaliases (reverse aliases) ifdef(`_LIMITED_MASQUERADE_XALIASES_', `', `#')dnl R$* < @ $=N . > $* $: $1 < @ $2 . @ $2 > $3 probably xalias ifdef(`_LIMITED_MASQUERADE_', `#')dnl R$* < @ $=w . > $* $: $1 < @ $2 . @ $M > $3 R$* < @ *LOCAL* > $* $: $1 < @ $j . @ $M > $2 R$* < @ $+ @ > $* $@ $1 < @ $2 > $3 $M is null R$* < @ $+ @ $+ > $* $@ $1 < @ $3 . > $4 $M is not null My additions (from before, for virtual domains reverse aliasing) is these lines: # don't masquerade for domains that are mentioned in xaliases (reverse aliases) ifdef(`_LIMITED_MASQUERADE_XALIASES_', `', `#')dnl R$=E < @ $=N . > $@ $1 < @ $2 . > probably xalias and # don't masquerade for domains that are mentioned in xaliases (reverse aliases) ifdef(`_LIMITED_MASQUERADE_XALIASES_', `', `#')dnl R$* < @ $=N . > $* $: $1 < @ $2 . @ $2 > $3 probably xalias inserted above, look 2 see! __________________________________________________________________ Leif Erlingsson Tel +46 8 604-0995 DATA LEGE Fax +46 8 605-2551 Glavagatan 33 URL http://www.lege.com 123 71 Farsta, Sweden Email mailto:leif@lege.com __________________________________________________________________ I remember the past. I am not doomed to buy Microsoft products. Date: Fri, 17 Apr 1998 07:03:32 +0200 (MET DST) From: Leif Erlingsson To: James David Rich Cc: fetchmail-friends@ccil.org Subject: Detailed response Re: domainname on outgoing mail Let it first be said, to use the below advice you must have a sendmail configuration tree in place. It is distributed with every source-distribution of sendmail, so if you don't have it, get it -- e.g. from ftp://ftp.sendmail.org. On Thu, 16 Apr 1998, James David Rich wrote: > Hi everyone, > This isn't a problem with fetchmail (I think) but I believe that a lot > of people on this list are doing the same thing I'm trying to do so I > hope to find an answer. > I'm running a standalone host (linux 2.1.95) at home and use fetchmail > release 4.0.8 to get my email from my ISP. It works great and has been > for a long time, thanks to everyone's hard work. But many sites bounce > email I send to them because the domainname I have assigned to my host > is not a valid domainname. I did this because I just have a dynamic > dial-up connection to the internet. That means that email is sent out > (using pine) with the domainname I made up. I need to change this so > that the mail I send has the domainname of my email address so that > things don't bounce. I don't want to change the domainname I have > assigned to my host. I have sendmail 8.8.7. How can I do this? Envelope header masquerading. There is at least two HOWTO's/ Mini-HOWTO's that touch on this -- one specifically is about how to set up sendmail with a dynamic dial-up connection to the internet. If that doesn't help -- I assure you my setup works, and you can study it in on the URL http://www.lege.com/proto.html, if you download the "patch" for sendmail-8.8.8, this is the files: 76069 Nov 13 23:46 README 3014 Nov 13 23:47 README-patch-8.8.8 74740 Sep 23 17:42 README.orig 10570 Aug 16 22:24 cf/elijah.smtp.mc 130 Dec 13 1996 cf/make_elijah 120 Jun 27 1997 cf/make_ruth 38748 Jan 13 23:11 cf/obj/elijah.smtp.cf 14382 Jan 13 23:11 cf/obj/ruth.smtp.cf 4391 Aug 16 22:30 cf/ruth.smtp.mc 13962 Mar 18 1997 domain/elijah.m4 4099 Jul 30 01:14 domain/ruth.m4 1903 Jan 14 00:18 m4/patch-8.8.8-2.04-README 22 Jan 13 22:59 m4/proto-patch-8.8.8 -> \ proto-patch-8.8.8-2.04 12176 Nov 13 23:55 m4/proto-patch-8.8.8-2.03 12466 Jan 13 22:35 m4/proto-patch-8.8.8-2.04 39219 Jan 13 22:54 m4/proto.m4 38942 Nov 13 23:54 m4/proto.m4-2.03 31529 Aug 1 02:26 m4/proto.m4.orig 3484 Nov 14 00:03 ostype/linux.m4 1953 Apr 7 1997 ostype/linux.m4.orig 2006 Nov 14 00:03 ostype/linux.patch 1903 Jan 14 00:18 patch-8.8.8-2.04-README I call my computer "elijah", so check out all files with the "elijah" somewhere in it's name. "elijah" is not really in DNS, but pretends to be on "elijah.swip.net". The header masquerading says MASQUERADE_AS(`mailbox.swipnet.se')dnl in my case -- and as my mailbox name is Leif.Erlingsson@mailbox.swipnet.se I'd also have to "reverse alias" using my /etc/xaliases stuff (see same URL!). About the *ruth* files: This is a "null client" setup for second home PC. Since it has /home NFS-mounted on "elijah" it doesn't need to get any mail, just to be able to send out mail. About why my envelope says leif@lege.com and not Leif.Erlingsson@mailbox.swipnet.se the way I explained above: __________________________________________________________________ You may wonder why my MASQUERADE_AS(`mailbox.swipnet.se') domain and my Leif.Erlingsson@mailbox.swipnet.se xalias don't show up in my From address... That is because I am doing one more thing... On top of having MASQUERADE_AS(`mailbox.swipnet.se') configured in my domain/elijah.m4 file, I have something called _virtual domains_ configured. Not the way Eric Allman want's it to work, but the way I want it to work. That is part of what the patch above does. It patches Eric's proto.m4. Part of the patch is so that virtual domains work regardless if the domain is local or not. In my case, "LEGE.COM" is *not* a local domain with my home computer (and it is not even in class w at the site hosting LEGE.COM on the 'net), but I have still these /etc/virtuals and /etc/xaliases entries: /etc/virtuals: __________________________________________________________________ lege.com leif@elijah.swip.net leif@lege.com leif@elijah.swip.net __________________________________________________________________ /etc/xaliases: __________________________________________________________________ # Reverse Aliases: #leif@elijah.swip.net: To: Dwight Johnson Subject: Re: Sendmail Relay Question On Mon, 16 Mar 1998, Dwight Johnson wrote: > Hi Leif, > > I know you are a sendmail expert. > > Normally, sendmail on my system simply contacts the destination > mailserver directly. Sometimes, however, my mail is rejected > because I have a dial-up Internet connection and the recipient > mailserver has rules in place to reject mail unless it comes > from a registered IP address. > > To correct the above, I would like to configure sendmail to > simply request an SMTP relay through the mailserver of my > domain hosting service. > > How do I do that? > > Thanks in advance, > Dwight My ISP have all his IP's registered, see these three sample Received headers: Received: from elijah.swip.net (dialup172-1-22.swipnet.se [130.244.172.22]) Received: from default (dialup113-1-30.swipnet.se [130.244.113.30]) Received: from elijah.swip.net (popmail@dialup237-2-2.swipnet.se [130.244.237.66]) (the first is from my own system, the second is from a Win-95 user -- Microsoft Internet Mail 4.70.1155 -- on the same ISP) In your mail the IP [209.43.157.175] might for example be registered as dialup157-3-47.accessone.com [209.43.157.175] My ISP is using a 26-bit subnet-mask; 255.255.255.192, and these domain names for the dynamic dial-in IP's: dialup{N3}-1-{1..60}.swipnet.se [130.244.{N3}.{1..60}] dialup{N3}-2-{1..60}.swipnet.se [130.244.{N3}.{65..124}] dialup{N3}-3-{1..60}.swipnet.se [130.244.{N3}.{129..188}] dialup{N3}-4-{1..60}.swipnet.se [130.244.{N3}.{172..252}] Where {N3} is one of these: {112..123,144..187,200..211,232..239} (Determined using dig repetitively... ;-).) If your ISP would adopt a similar scheme, it might look like so: dialup{N3}-1-{1..60}.accessone.com [209.43.{N3}.{1..60}] dialup{N3}-2-{1..60}.accessone.com [209.43.{N3}.{65..124}] dialup{N3}-3-{1..60}.accessone.com [209.43.{N3}.{129..188}] dialup{N3}-4-{1..60}.accessone.com [209.43.{N3}.{172..252}] Where {N3} is: {157, or any other value used by your ISP} If and when you fail to influence your ISP to do this trivial change to his DNS, you can either change ISP or indeed update your sendmail.cf. If you are using m4 source (recommended), simply add define(`SMART_HOST', `smtp:mailhost.accessone.com')dnl to your sendmail.mc file and make sure your LOCAL_NET_CONFIG section, if you have one, doesn't send directly to things found in your DNS lookup (mine does, I wrote it myself). Then run m4 on it; m4 < sendmail.mc > /tmp/new-sendmail.cf Then diff /tmp/new-sendmail.cf /etc/sendmail.cf before replacing, just to see what changed. This ought to work! (Myself, I only forward stuff to my ISP if I cannot find the domain in DNS on the assumption that my ISP knows better -- which he never does. :-)) You can study my files at ftp://www.lege.com/www.lege.com/sendmail/cf-8.8.8/... Look for elijah* and proto.m4, and also ruth* files. Ruth is a null-client to elijah. Good Luck! __________________________________________________________________ Leif Erlingsson, DATA LEGE, Glavagatan 33, 123 71 Farsta, Sweden. TEL +46 8 604-0995, FAX +46 8 605-2551, URL http://www.lege.com. I remember the past. I am not doomed to buy Microsoft products. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++ END OF sendmail-unknown-domain-FAQ.txt ++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Note that some of these documents are very old and somewhat dated, but if they didn't have any relevance today I would not have published them! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++ sendmail-mailertable~DNS-FAQ.txt ++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Date: Wed, 24 Apr 1996 19:50:36 +0200 (MET DST) From: Leif Erlingsson To: Stephen Subject: Re: Mail Queue Howto question On Tue, 23 Apr 1996, Stephen wrote: > At 11:40 AM 4/21/96 +0200, you wrote: > > >I have a setup with mailertables + my own added rules that > >skips DNS lookup for hosts in mailertable. This only works > >for hosts in the table, and for hosts in Cw, but for no other. > > > >Have You tried FEATURE(`nodns') ? > > Mailertables wouldn't work as a general solution, since I want > to avoid doing all DNS lookups on outgoing mail. Ah, but I wrote " + my own added rules that skips DNS "! (I use these rules a lot - they are additions to the various domain files we use. [These additions are part of the cf/m4/proto.m4 patches at http://www.lege.com/proto.html -- go there -- get'em!]) > I have tried > FEATURE(`nodns'). I'm not sure what its exact function is, but > I believe it only turns off certain resolver options, but not > all DNS lookups. In any case, it didn't solve my problem. > > The problem seems to be with the design of sendmail. It allows > you to declare outgoing mail as "expensive" and queue it, but > it seems the programmers didn't forsee the possibility that > connections for DNS could also be "expensive". In other words, > they assume DNS is always available, so they always do DNS > lookups even when they know the mail will be queued. I guess > this isn't unreasonable, since most TCP/IP protocols depend on > DNS, SMTP included. Maybe I should try using UUCP for outgoing? Why not set up caching only DNS on Your own host?! I am going to do that on mine. [I later tried that and it kind of worked but with all the DNS timeouts I was better off witout any local name- server when offline, so I now have it deactivated again. /Leif.] > >No. But sendmail would play a big part. What is the full name > >of the list? > > Its full address is majordomo@vger.rutgers.edu. If you want to > subscribe, put "subscribe linux-diald" in the body of the > message. Thanks. / Leif Erlingsson ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++ END OF sendmail-mailertable~DNS-FAQ.txt ++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++ sendmail-virtuals-FAQ.txt ++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Some ramblings on the subject of E-Mail Virtual Domains... Date: Thu, 2 May 1996 19:08:44 +0200 (MET DST) From: Leif Erlingsson To: Mark Subject: Have been `hiding my head in the sand' a couple of days ... and not even fetched my mail for two days! Practically unheard of! :-) I just looked to see if there was anything urgent, and as there isn't, I'll go back to what I was doing, which is serious sendmail hacking! I'm working in parallel for all sendmail environments I'm concerned with. I'm updating the general status of all config files, with Virtual Domans (already in there) and full support for reverse aliasing together with Virtual Domans AND normal masquerading for domains not xaliased to by anyone. This requires some slight enhancements of the m4 source, to /usr/site/mail/cf/m4/proto.m4, as well as to the site-specific configuration files ( /usr/site/mail/cf/domain/dispatch.m4 and /usr/site/mail/cf/cf/ dispatch.mc for dispatch ). Plus a new version of my xaliases(8) script. You will not see these updates on dispatch until it's all good and ready, as well as well tested. What I am implementing is everything documented in the Virtual Domains mail I sent You, this is already a fact, but more: I will support, using xaliases, individual masquerading for users with reverse aliases in the /etc/xaliases file (that's those entries that end up in /etc/generics when xaliases is run). When all this is used in combination with a few Unix special accounts using procmail recepies to work mailbot's, the result is that ONE SINGLE COMPUTER - dispatch - or a Pentium maybe - can act as any number of domains on the Internet that it is MX'ing and receiving and/or forwarding mail for and each of these domains can have their own mailbot's, masquerading as that domain. You can have, info@company.a.com info@company.b.com info@company.c.com info@company.d.com that each reply automatically to the person sending the mail with a menu + forwarding the original mail to different people, like nfo@company.a.com --> forward to eric@some.com nfo@company.b.com --> forward to 1234@aol.com nfo@company.c.com --> forward to 5678@aol.com nfo@company.d.com --> forward to 9012@aol.com or something different. Each recepie can be custom tailored. That would be a source of income, right? One recepie might just log the E-Mail addresses of those who mailed, mailing the result once a week to the responsible person somewhere. The possibilities will be infinite. __________________________________________________________________ Leif Erlingsson Tel +46 8 604-0995 DATA LEGE Fax +46 8 605-2551 Glavagatan 33 URL http://www.lege.com 123 71 Farsta, Sweden Email mailto:leif@lege.com __________________________________________________________________ I remember the past. I am not doomed to buy Microsoft products. Mon Nov 17 1997 comment: http://www.lege.com/proto.html links to current patches, making cf/m4/proto.m4 generate sendmail.cf's with better virtual domain support than the latest sendmail-8.8.8 does as standard. As of this writing, the following versions of sendmail are supported: sendmail-8.8.8, sendmail-8.8.7, sendmail-8.8.6, sendmail-8.8.5, sendmail-8.8.4 and sendmail-8.7.3. It is also highly recommended that you obtain http://www.lege.com/xaliases-2.0.tar.gz.bin for the xalparse and xaliases programs and configuration files. / Leif Erlingsson The Virtual Domains document: __________________________________________________________________ Date: 13 Nov 1995 14:39:15 -0500 From: "Homer W. Smith" Newsgroups: comp.mail.sendmail Subject: Sendmail V8 Virtual Domains ART MATRIX - LIGHTLINK PO 880 Ithaca, NY 14851-0880 (607) 277-0959 Voice (607) 277-8913 Fax (607) 277-5026 Modems homer@lightlink.com E-mail jes@lightlink.com E-mail 09/07/95 8:12pm Copyright (C) 1995 Homer Wilson Smith Redistribution rights granted for non commercial purposes. I want to thank Robert Sanders from whom this material derives. I also want to thank Christopher X. Candreva (chris@westnet.com), who saved my butt when I needed it most. Check out his home page at http://www.westnet.com/providers where the patch lives along with some great other patches. SENDMAIL VIRTUAL DOMAINS Sendmail version 8.x allows the creation of virtual domains with an unlimited number of userids for each domain, and userids do NOT have to be unique to the system, simply unique to the virtual domain. You do NOT have to assign an IP number to this virtual domain, the way you do with web virtuals. First you need to be primary name service for the domain. Say the requested domain is artmatrix.com, and you are lightlink.com. You will have various files in your /etc directory for doing primary name service. The examples that follow are pretty straight forward, but the file names may not be identical to yours. In /etc/named.boot you will have your own primary name files listed. At the end you will have a listing for the file that defines artmatrix.com. It will look something like this, directory /etc/named primary artmatrix.com /light/artmatrix.com That means the file defining artmatrix.com is contained in /etc/named/light/artmatrix.com. That file looks like so, @ IN SOA light.lightlink.com. root.light.lightlink.com. ( 95082600 10800 3600 604800 86400 ) ;Domain lightlink.com is served by Name Server light.lightlink.com IN NS light.lightlink.com. IN NS secondary name servers go here. IN NS " IN NS " artmatrix.com. IN MX 100 light.lightlink.com. *.artmatrix.com. IN MX 100 light.lightlink.com. ftp.artmatrix.com. IN CNAME ftp.lightlink.com. www.artmatrix.com. IN CNAME www.lightlink.com. This file provides a simple aliasing between artmatrix.com and lightlink.com. Under normal circumstances you will have artmatrix.com in your sendmail.cw file which allows sendmail to accept mail for that domain. Mail sent to homer@artmatrix.com will go to homer@lightlink.com. The problem is that mail sent to anybody@artmatrix.com will also go to anybody@lightlink.com and this is undesirable. Worse most companies want info@artmatrix.com, sales@artmatrix.com and tech-support@artmatrix.com, but these are already taken by lightlink itself! So what do you do? THE SENDMAIL ALIAS FILE The usual sendmail alias file allows for simple aliases. For example you can redirect 'sales' to any particular account, but that means sales@artmatrix.com, sales@lightlink.com and sales@other.domain will all go to the same account what ever it is. You need a way to make sales@artmatrix.com go to one account, and sales@other.domain go to another account, so working with a simple alias file will not work. SENDMAIL VIRTUAL DOMAINS The way sendmail handles this is with a more complex alias file called a db file, or database file. You create a file called /etc/sendmail.db which has lines in it like this, artmatrix.com homer sales@artmatrix.com jes@netcom.com info@artmatrix.com info other.domain.com joe sales@other.domain.com susan@crl.com info@other.domain.com info The lines with domains on them alone define a default account that ALL mail for that domain goes to that is not other wise defined. Thus if someone sends mail to fred@artmatrix.com it will go to homer, and NOT to fred@lightlink.com even if fred exists on lightlink. The second line shows that mail can be redirected anywhere, the people receiving the mail don't have to have accounts on your machine. That allows a company that already has many employees with many different providers to have a common virtual domain name, and your system will distribute the mail transparently to each person. The fifth line shows that someone else on your system can also have sales@their.domain as a userid, and it won't conflict with the earlier sales@your.domain and neither will conflict with sales@lightlink.com. The third and sixth line are interesting in that both addresses point to a common receiver, namely info@lightlink.com. This is because we are running a 'virtual infobot', that looks at the address of the incoming To: line, and decides what information to send out according to the domain it came in for. That way everyone on our system can have an info bot automatically handling out material for them. The info bot has a central data base that 'registers' the home directories that are authoritative for each domain. Artmatrix.com points to /home/homer, that's me. In /home/homer/info there is a file called 'info.info' that lists all the files that I want the info bot to send out. The outgoing mail goes out with From: info@artmatrix.com. The nice thing about the infobot is it is not limited to just one address per domain. I could also have the following lines in our sendmail.db file, info@artmatrix.com info info-stamps@artmatrix.com info The infobot, seeing mail coming into it with info-stamps@artmatrix.com would go to my home directory and look for the file called info-stamps.info, and send out the files listed in that file instead. So there is no limit to how many sets of info files a single customer can have, and of course all of his info names do not conflict with anyone else's info names even if they are identical, because the domain names are different. The infobot can also handle customers who do not have virtual domains with us. It will handle joe-stamps@lightlink.com by going to joe's directory and finding his info file called joe-stamps.info. In this case 'joe-stamps' is a simple alias stored in the /etc/aliases file, and must be unique to the system. The alias as before simply points to info@lightlink.com. Although this program is in alpha testing, it is free to the internet community. It's a perl script. OK, SO HOW DO WE MAKE SENDMAIL WORK ALL THIS MAGIC? In order for sendmail to utilize the sendmail.db file, it needs two things. First the sendmail.db file itself needs to be converted into a database file using the following shell script called 'makesend'. #!/bin/csh /etc/makemap hash /etc/out < /etc/sendmail.db Makemap is a part of the sendmail v8 distribution, and I simply moved it over to /etc after compiling it. There is a man page for it in the sendmail v8 distribution. The result of makesend is the creation of a file called /etc/out.db that contains the data in sendmail.db in a form that sendmail can use. The next change that needs to be made is sendmail needs to be told what the name of its database file is, namely /etc/out.db. This is done with the 'K' line in sendmail.cf. Here is a relevant section from my own sendmail.cf. The 'dequoting map' is put in there by sendmail itself and is not relevant, the next line I put in there. # dequoting map Kdequote dequote Kmaildomains hash /etc/out.db One can (and probably should) instead place this line in one's original sendmail.mc file like so near the bottom. LOCAL_CONFIG Kmaildomains hash /etc/out.db Once can place any options there one wishes to be part of the final sendmail.cf file. For example, Thomer <-- Trusted user Opauthwarnings,noexpn,novrfy OK, now here is the hard part, and in fact this should be done first before all of the above! You will need to stick 4 'LOCAL_RULE_0' lines into your sendmail.mc file before you m4 it into a sendmail.cf. I have included my sendmail.mc file in toto below so you can see what I did. These 4 rule lines go into your sendmail.cf file under Local Rule S98. Do a look through your sendmail.cf after you have m4'd the .mc file and you will see them there. You will notice they use the term 'maildomains' which is where the K command above gets it from. divert(-1) include(`../m4/cf.m4') VERSIONID(`@(#)sunos4.1-cs-hidden.mc 8.1 (Berkeley) 6/7/93') OSTYPE(sunos4.1)dnl DOMAIN(light)dnl MAILER(local)dnl MAILER(smtp)dnl MAILER(usenet)dnl MAILER(pop)dnl FEATURE(use_cw_file)dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(allmasquerade)dnl LOCAL_CONFIG Kmaildomains hash /etc/out.db Thomer Opauthwarnings,noexpn,novrfy LOCAL_RULE_0 R$+ < @ $+ . > $: $1 < @ $2 > . R$+ < @ $+ > $* $: $(maildomains $1@$2 $: $1 < @ $2 > $3 $) R$+ < @ $+ > $* $: $(maildomains $2 $: $1 < @ $2 > $3 $) R$+ < @ $+ > . $: $1 < @ $2 . > MAKE SURE THE LEFT HAND SIDE AND THE RIGHT HAND SIDE ARE SEPARATED BY AT LEAST ONE TAB!!!! SPACES ALONE WON'T WORK! OK, so do it in this order. Add the K line into your sendmail.mc file. Add the rule lines to your sendmail.mc file, and then m4 it into your sendmail.cf file. Create the sendmail.db file, and makesend it into an out.db file. Kill sendmail and restart it. DON'T use kill -9. Kill it dead. You can and should create a little shell script that will kill and restart sendmail, named, and httpd, as you will need to be doing this alot. Named and httpd only need a kill -9. Here's a simple shell script for killing and restarting sendmail. It depends on the location of sendmail.pid which I arbitrarily put in /etc when I compiled it. #!/bin/csh set a = `cat /etc/sendmail.pid` echo $a kill -9 $a[1] $a[2] $a[3] $a[4] So that's it. You can now create entire virtual domains for your customers. You can even allow them to keep a personal sendmail.db file in their home directories and write a perl script that seeks them out every night, incorporates them into the system wide /etc/sendmail.db file, and creates a new database automatically. That way your customers can change their virtual sendmail domain names without ever bothering you. Homer ART MATRIX - LIGHTLINK PO 880 Ithaca, NY 14851-0880 (607) 277-0959 Voice (607) 277-8913 Fax homer@lightlink.com E-mail 08/26/95 3:47pm Dear Lightlinker, We will be moving everyone who has a domain name registered with us as primary name server, to the new Sendmail Virtual Domain System. Please take the time to read the following carefully so that you understand it. This will go a long ways towards making sure that your mail works smoothly and as you expect it to. If you have a registered domain with us, you will be given an entry in our sendmail.db (db = database) file that looks like this (using myself as an example): artmatrix.com homer This means that ALL mail sent to anybody@artmatrix.com will get sent directly to homer@lightlink.com. This effectively locks out the possible use by unauthorized people of your domain name with out you knowing about it. Prior to this your domain was a simple alias for lightlink.com. That means that jes@artmatrix.com would go to jes@lightlink.com, and fred@artmatrix.com would go to fred@lightlink.com (who has no idea what artmatrix is!) and so forth. The only addresses that would bounce would be userid's that did not exist on lightlink at all. This was clearly unsatisfactory. With the new arrangement all of the above go to homer@artmatrix.com. This is a disadvantage for jes@artmatrix.com who really needs to get her own mail (Jane) but its an advantage for fred who certainly doesn't want it. Your entry in the sendmail.db file can be expanded to look like this: artmatrix.com homer homer@artmatrix.com homer jes@artmatrix.com jes joe@artmatrix.com joseph@netcom.com tech-support@artmatrix.com homer@rahul.net sales@artmatrix.com 72214,2770@compuserve.com info@artmatrix.com info (The info bot does not yet work for other domains, when it does you can include it in your sendmail.db file. The info bot is a whole other story.) Each address on the left will be forwarded to the address on the right. A USER DOES NOT HAVE TO HAVE AN ACCOUNT ON THIS SYSTEM FOR THIS TO WORK. Mail coming in for joe@artmatrix.com can be sent to joseph@netcom.com even if joseph does not have an account on lightlink. There is no limitation on the userid that exists on the right, the userid on the left must be a valid e-mail address somewhere in the world. If there is no domain name mentioned it is assumed to be lightlink.com. This arrangement gives you total control over your own address space for your domain. We will be automating the process in due time so that you do not have to go through me to update your userid's. Presently you need to submit your userid's to me and I have to hand update them in our system wide sendmail.db file. In the future, barring security concerns, you will have your own sendmail.db file in your home/vdp directory (vdp = virtual domain package), and each night the system will scan your vdp directory and add your file to the system wide file. This will allow you to seamlessly make changes to your address space without ever having to notify anyone except the people whose mail it involves. Please take some time to think through what you wish, and mail your present requests to me. OUT GOING MAIL If you wish your outgoing mail to also show your private domain name, you can adjust your mailer settings to do this. For example, if I want my mail to go out as: Tech Support In Eurdora I would set my name and e-mail fields accordingly. In pine on a shell account, I would change user-domain and personal-name in my .pinerc file. Remember though this applies to ALL mail you send from that account until you change it back. CAN OUTGOING HEADERS BE A FUNCTION OF INCOMING HEADERS? No. There is presently no EASY way to make outgoing mail change its headers according to the addressee of the incoming mail. For those of you who wish to pursue this on your own, there are various complicated work arounds that might be able to get you this result if you really need it. You can set up multiple copies of Eudora with multiple copies of config files to contain different outgoing names and addresses for different purposes. But you will have to be careful to use the right version when responding to any particular mail. You can do the same for pine, by switching the .pinerc used for any particular mail session with a csh script prior to calling pine itself. If you want this explained in detail we can talk more about it on the phone. There are also more advanced options in pine and procmail that allow you to filter your incoming mail into different folders according to headers in the mail, this would allow you to segregate different incoming mail for later anwering from different .pinerc setups or whatever. However you are on your own with this. CAN WE MIX THE OLD ALIAS SYSTEM WITH THE NEW VIRTUAL DOMAIN SYSTEM? No. Once any single entry is made under the virtual domain system, the simple alias system ceases to function for that domain. Therefore if you have more than one person in your virtual domain, I can not make the change for just one of you without effecting everyone else's mail. The minute I create one userid in your domain under the new system, ALL userid's will be redirected to the primary account or bounced, unless an explicit entry is there for each person too. Please get me your company wide aliases as fast as possible. Those of you who have more than one person in your virtual domain will not be moved over to the new system until I get your new alias list. That way your mail will continue to work as is. Homer -- ------------------------------------------------------------------------------ Homer Wilson Smith ART MATRIX FRACTALS homer@lightlink.com Posters, T-shirts, Videos (607) 277-0959 http://www.lightlink.com ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++ END OF sendmail-virtuals-FAQ.txt ++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++