wlim@gdstech (Willie Lim) (05/25/90)
>From scotth%harlie.corp@sgi.com Fri May 25 08:33:59 1990 Return-Path: <@eddie.mit.edu:scotth%harlie.corp@sgi.com> To: wlim@ai.mit.edu (William Y-P. Lim) Subject: Re: sendmail.cf In-Reply-To: Your message of Wed, 02 May 90 12:17:16 -0400. <9005021617.AA05568@rice-chex> Date: Thu, 03 May 90 08:58:32 PDT >From: scotth%harlie.corp@sgi.com > Hi, do you know who I should contact regarding the following problem? > I have been trying to get our Personal Iris (no NFS) to send and > receive mail from other ethernet hosts. I played around with > sendmail.cf and could only get it send mail out. It couldn't receive > mail. Also if I don't change DDFOO.COM to DDLOCAL (and enabling a > rule for parsing hostnames with no "."), sendmail seems to go into an > infinite loop (looping between rules 29, 3, and 0) when I try to get > it to parse an address of the form user@hostname. > Any suggestions? > Willie I talked to watson@sgi.com (who knows a lot more about this than I do, I'm just starting to learn it), and he said: % There's no easy answer to this query. Editing sendmail.cf requires quite % a crash course in the way sendmail works. There is sparse documentation % with sendmail; it's barely sufficient but a good place to start. % How this person should change his .cf file depends upon a zillion % features of his environment, and will take quite a while to figure out % even for someone knowledgeable about sendmail. % Sorry I can't do better, but .cf hacking, although not difficult in % principle, is heavily site-dependent and requires some study in advance. % -D. Sorry, I don't know anything better to tell you. -- scott >From loki@physics.mcgill.ca Fri May 25 08:34:06 1990 Return-Path: <loki@frodo.physics.mcgill.ca> Date: Tue, 15 May 90 09:53:18 EDT >From: Loki Jorgenson Rm421 <loki@physics.mcgill.ca> To: wlim@ai.mit.edu Subject: Re: Messing around with sendmail.cf This sounds familiar. Could it be that when you watch the mail to the IRIS from another machine using -v option on mail (BSD mail), you see it being rejected because the IRIS doesn't recognize its own address? If this sounds similar, write back. We had a SUN cluster with one 3/180 acting as central mailhost and all of the client 3/50's set up to send mail they don't recognize to it. When we included our IRIS in this setup, it kept sending mail for itself back to the mailhost because it didn't recognize its own name in the address. We hacked the sendmail.cf to force recognition. This worked although it wasn't very professional. I'll give you details if this sounds like your situation. Regards, Loki Jorgenson node: loki@physics.mcgill.ca Physics, McGill University fax: (514) 398-3733 Montreal Quebec CANADA phone: (514) 398-6531 <.... Free the mind and the police will surely follow ....> >From rose@baby.swmed.utexas.edu Fri May 25 08:34:10 1990 Return-Path: <rose@baby.swmed.utexas.edu> Date: Tue, 15 May 90 09:25:43 CDT >From: rose@baby.swmed.utexas.edu (Rose Oguz) To: wlim@ai.mit.edu Subject: Re: Messing around with sendmail.cf I spent about 2 months trying to get e-mail working on my Personal Iris. Let me see if I understand the problem correctly. You can send mail out, but you can't receive it. I had the same problem. The last stage of my problem was that I could only receive mail from on campus. The real world couldn't reach me. I tried a number of things and what worked follows: In /etc/init.d/network, add the following line after "routed" is started /usr/etc/route add default <smart-gateway> 1 where <smart-gateway> is a smart gateway that will provide routing. I got the information out of the TCP/IP User's Guide, version 2.1 (document #007-0830-021) on p. 4-10. I originally implemented this to make sure that I'd get access out of my machine, but it cleared up my e-mail problem, too. I called the SGI hotline and didn't get an explanation. It seems that my PI didn't know who it was, in a sense. In any case, give it a try. If it doesn't work, let me know. I had to do a few other things before even getting to this point; so, I may be able to give you other useful information. Good luck! Rose Oguz rose@baby.swmed.utexas.edu >From loki@physics.mcgill.ca Fri May 25 08:34:13 1990 Return-Path: <loki@frodo.physics.mcgill.ca> Date: Tue, 15 May 90 11:39:12 EDT >From: Loki Jorgenson Rm421 <loki@physics.mcgill.ca> To: wlim@ai.mit.edu Subject: Re: Messing around with sendmail.cf Hey ho again. OK... I have included the slightly hacked version of sendmail.cf which I use on smaug (the IRIS). Needless to say, this version of sendmail.cf is *highly* dependent on having a clearinghouse mailhost for non-local mail to be passed to. The only important features are commented in the following. One is the definition of a $S, a variable containing the name the IRIS has in /etc/sys_id, and the line in RuleSet 0 where $S is stripped out of the address. I am not at all sure whether this will be relevant to your situation or not. Good luck, Loki Jorgenson node: loki@physics.mcgill.ca Physics, McGill University fax: (514) 398-3733 Montreal Quebec CANADA phone: (514) 398-6531 # McGill Generic Sendmail Configuration (Client) # # This is to be installed on each client in a domain, # and is as machine independent as possible. Configuration # information is mostly definedly automatically by sendmail. # Each client passes mail that is not recognized as local # to the clearinghost (called mailhost.this.domain). # # It is based on a more-or-less generic IDA sendmail binary, # with the exception of the $m macro being set to the name of # the domain (as is done in SunOS 4.0 sendmail). # # An important point about this mailer: it only talks to the # local clearing house, and has no idea whatsoever about # external mail formats. Therefore, the clients never rewrite # addresses; that is best left to the clearinghouse. # version (client) DVIDA-1.1C # my official hostname Dj$w # hack local name problem (L.Jorgenson 12/4/90) DSsmaug # add the hostname to the list Cw$k # major relay host DGmailhost ########################## ### Special macros ### ########################## # my name DnMAILER-DAEMON . . etc . . ##################################################### # # # Ruleset 0, where things get done! # # # # (Not nearly as hairy as your average ruleset 0, # # since we only handle identifyable local # # addresses--anything remotely suspicious goes # # to the guru for resolution) # ##################################################### S0 R@ $#local $:$n handle <> form R$*<@$=w> $@$>29$1 strip our aliases R<@$=w>:$+ $@$>29$2 retry after route strip R$*<@$k> $@$>29$1 strip our hostname # Here we strip out our "local" name after the official strips fail R$*<@$S> $@$>29$1 strip smaug R<@$k>:$+ $@$>29$1 string R$*<@$+>$* $#ether $@$G$:$1@$2$3 pass to guru . . etc. >From treed%tom.dallas@sgi.com Fri May 25 08:34:17 1990 Return-Path: <@eddie.mit.edu:treed%tom.dallas@sgi.com> Date: Tue, 15 May 90 11:13:55 CDT >From: treed%tom.dallas@sgi.com (Thomas E Reed) To: wlim@ai.mit.edu Subject: Re: Messing around with sendmail.cf >Message-Id: <9005151205.AA16842@rice-chex> >To: info-iris@BRL.MIL >Subject: Messing around with sendmail.cf > >At my place of work, we have a Personal Iris connected to an internal >network. There are Unix machines (BSD, Sparc stations, Ultrix) and >Symbolics machines on that network. However we are having problems >trying to get email to work on the Personal Iris (ftp and telnet seem >to work though). We could send mail out from the Personal Iris to the >other hosts. The problem is that we can't send mail to the Personal >Iris. > >Any ideas on how sendmail.cf should be fixed to get mail to work >properly? > >Thanks in advance. > > >Willie In general you will need to change the sendmail.cf file to make it work. The entries you need to change are: # full domain name DDFOO.COM # Forwarding host. DFbar.foo.com CFbar # default network name ONFOO.COM If you are using canonial naming then these entries should agree with your local network configuration. For example if your systems hostname is "myhost" and your network domain is "somenet1.myschool.edu" and the hostname of the mail forwarder for your system is "mailfwd.somenet2.myschool.edu" then these entries would look like: # full domain name DDsomenet1.myschool.edu # Forwarding host. DFmailfwd.somenet2.myschool.edu CFmailfwd # default network name ONsomenet1.myschool.edu IF you are not using canonical named hosts in your "/etc/hosts" file ie. the entries look like "192.1.1.1 foo" instead of "192.1.1.1 foo.bar.com" then the entries should look like: # full domain name DDLOCAL # Forwarding host. DFmailfwd CFmailfwd # default network name ONLOCAL and you will need to uncomment the rewrite rule shown below in your sendmail.cf file. # ??? unusual rule # Assume that all unqualified, canonical names are local. This is # not necessary unless /etc/hosts contains entries whose first # name does not contain periods. #R$*<@$=S>$* $1<@$2.$D>$3 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is the rewrite rule Every time you change the sendmail.cf file you need to stop and start sendmail. You can do this by typing (as root) the following. /etc/init.d/mail stop <CR> then type /etc/init.d/mail start <CR> Hope this helps... PS. your question about using QIC-24 tapes with a PI? Unless you asked differently you PI was shipped with a QIC-150 "high density" tape drive. QIC-24 tapes are not compatible with this higher density drive. The drive will read QIC-24 tapes you just can't write to them. -- Tom Reed SGI - Dallas email: treed@sgidal.dallas.sgi.com vmail: 8705 phone: 214-788-4122 >From wlim@ai.mit.edu Fri May 25 08:34:25 1990 Return-Path: <wlim@ai.mit.edu> >From: wlim@ai.mit.edu (Michael Rowan) Date: Tue, 15 May 90 12:45:10 EDT To: rose@baby.swmed.utexas.edu Subject: [treed%tom.dallas@sgi.com: Re: Messing around with sendmail.cf] Return-Path: <@eddie.mit.edu:treed%tom.dallas@sgi.com> Date: Tue, 15 May 90 11:13:55 CDT >From: treed%tom.dallas@sgi.com (Thomas E Reed) To: wlim@ai.mit.edu Subject: Re: Messing around with sendmail.cf >Message-Id: <9005151205.AA16842@rice-chex> >To: info-iris@BRL.MIL >Subject: Messing around with sendmail.cf > >At my place of work, we have a Personal Iris connected to an internal >network. There are Unix machines (BSD, Sparc stations, Ultrix) and >Symbolics machines on that network. However we are having problems >trying to get email to work on the Personal Iris (ftp and telnet seem >to work though). We could send mail out from the Personal Iris to the >other hosts. The problem is that we can't send mail to the Personal >Iris. > >Any ideas on how sendmail.cf should be fixed to get mail to work >properly? > >Thanks in advance. > > >Willie In general you will need to change the sendmail.cf file to make it work. The entries you need to change are: # full domain name DDFOO.COM # Forwarding host. DFbar.foo.com CFbar # default network name ONFOO.COM If you are using canonial naming then these entries should agree with your local network configuration. For example if your systems hostname is "myhost" and your network domain is "somenet1.myschool.edu" and the hostname of the mail forwarder for your system is "mailfwd.somenet2.myschool.edu" then these entries would look like: # full domain name DDsomenet1.myschool.edu # Forwarding host. DFmailfwd.somenet2.myschool.edu CFmailfwd # default network name ONsomenet1.myschool.edu IF you are not using canonical named hosts in your "/etc/hosts" file ie. the entries look like "192.1.1.1 foo" instead of "192.1.1.1 foo.bar.com" then the entries should look like: # full domain name DDLOCAL # Forwarding host. DFmailfwd CFmailfwd # default network name ONLOCAL and you will need to uncomment the rewrite rule shown below in your sendmail.cf file. # ??? unusual rule # Assume that all unqualified, canonical names are local. This is # not necessary unless /etc/hosts contains entries whose first # name does not contain periods. #R$*<@$=S>$* $1<@$2.$D>$3 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is the rewrite rule Every time you change the sendmail.cf file you need to stop and start sendmail. You can do this by typing (as root) the following. /etc/init.d/mail stop <CR> then type /etc/init.d/mail start <CR> Hope this helps... PS. your question about using QIC-24 tapes with a PI? Unless you asked differently you PI was shipped with a QIC-150 "high density" tape drive. QIC-24 tapes are not compatible with this higher density drive. The drive will read QIC-24 tapes you just can't write to them. -- Tom Reed SGI - Dallas email: treed@sgidal.dallas.sgi.com vmail: 8705 phone: 214-788-4122 >From gln@pc-i1.me.umn.edu Fri May 25 08:34:32 1990 Return-Path: <gln@pc-i1.me.umn.edu> Date: Tue, 15 May 90 12:24:57 CDT >From: Glen Niebur <gln@pc-i1.me.umn.edu> To: wlim@ai.mit.edu Subject: sendmail.cf I spent a considerable amount of time trying to figure out sendmail.cf My conclusion was that the sendmail.cf which SGI sends with their machines is useless. I got the following sendmail file off of anonymous ftp from our local NIC. You can probably fix it up to work for your machines by changing the hostnames and domains. Note that it assumes that any machine on your local network (e.g. mit.edu) can be reached directly. If this is not the case, remove the line which ends with "on uofm network" ############################################################################### ### ### ### sendmail configuration for generic complex host ### ### with both UUCP and Internet connections ### ### ### ### Erik E. Fair <fair@ucbarpa.berkeley.edu> ### ### ### ############################################################################### # Our local domain ($D is added to $w [hostname] for official name in base.m4) # CHANGE THESE TWO LINES DDme.umn.edu DHpc-i1 # All the names we are known by (put all the names & nick names on the next # line, separated by spaces. If you need another line, begin it with "Cw") # CHANGE THIS LINE Cwpc-i1.me.umn.edu pc-i1 pc-iris # Our UUCP name DU$w # the list of UUCP hosts that we speak to (same rules as Cw, use the # output of the "uuname" command; also, when you add or delete a host # from the L.sys, don't forget to add or delete it here) CU #define forwarding host (usually called mailhost) DFmailhost ############################################################################### ### baseline definitions that sendmail needs to operate ### ############################################################################### ########################## ### Special macros ### ########################## DV25 # my official hostname Dj$H.$D # my name (the name on mailer bounces) DnMAILER-DAEMON # UNIX header format DlFrom $g $d # delimiter (operator) characters Do.:%@!^/[] # format of a total name Dq$?x$x <$g>$|$g$. # SMTP login message De$j Sendmail $v/$V ready at $b ################### ### Options ### ################### # we have full sendmail support here Oa # location of alias file OA/usr/lib/aliases # default delivery mode (deliver in background) Odbackground # (don't) connect to "expensive" mailers #Oc # temporary file mode OF0600 # default GID Og1 # location of help file OH/usr/lib/sendmail.hf # log level OL9 # Send to me too (even if I'm in an alias expansion) Om # default messages to old style Oo # queue directory OQ/usr/spool/mqueue # read timeout -- violates protocols (timeout an SMTP idle for 2 hours) Or2h # status file OS/usr/lib/sendmail.st # queue up everything before starting transmission Os # default timeout interval (returns undelivered mail after 3 days) OT3d # time zone names (V6 only) OtPST,PDT # default UID Ou1 # encrypted wizard's password (for the undocumented "wiz" SMTP command) OWnot-likely # rebuild the aliasfile automagically #OD # maximum load average before queueing mail Ox10 # maximum load average before rejecting connections OX15 ############################### ### Message precedences ### ############################### Pfirst-class=0 Pspecial-delivery=100 Pbulk=-60 Pjunk=-100 ######################### ### Trusted users ### ######################### Troot Tdaemon Tnews Tuucp ############################# ### Format of headers ### ############################# H?P?Return-Path: <$g> HReceived: $?sfrom $s$. by $j$?r with $r$. ($v/$V-eef) id $i; $b H?D?Date: $a H?F?From: $q H?x?Full-Name: $x H?M?Message-Id: <$t.$i@$j> HSubject: H?D?Resent-Date: $a H?F?Resent-From: $q H?M?Resent-Message-Id: <$t.$i@$j> ############################################################################### # RULESET ZERO PREAMBLE # ############################################################################### S0 # first make canonical R$*<$*>$* $1$2$3 defocus R$+ $:$>3$1 make canonical # handle special cases..... R@ $#local$:$n handle <> form R$*<@[$+]>$* $#tcp$@[$2]$:$1@[$2]$3 numeric internet spec # now delete the local info R$*<$*$=w.UUCP>$* $1<$2>$4 thishost R$*<$*$=w.$D>$* $1<$2>$4 thishost R$*<$*$=w>$* $1<$2>$4 thishost R$*<$*.>$* $1<$2>$3 drop trailing dot R<@>:$* $@$>0$1 retry after route strip R$*<@> $@$>0$1 strip null trash & retry # return uucp mail that looks like decvax!ittvax!marsvax! since it # will be rejected at the final site with no username on it R$*!<@$-.UUCP> $#error$:Destination address truncated ############################################################################### ### Machine dependent part of ruleset zero (where we decide what to do) ### ############################################################################### # resolve UUCP links to hosts known to this machine R$*<@$=U.UUCP>$* $#uucp$@$2$:$1 resolve local uucp # special case violation of RFC822 for hybrid bang/at addresses # if uucphost!user@arpahost, forward to uucphost if we speak to it. R$=U!$+<@$+>$* $#uucp$@$1$:$2@$3$4 # resolve various and sundry other unofficial networks R$*<@$+.MAILNET>$* $#tcp$@mit-multics.arpa$:$1@$2.MAILNET$3 MAILNET R$*<@$+.BITNET>$* $#tcp$@cunyvm.cuny.edu$:$1@$2.BITNET$3 BITNET R$*<@$+.MFENET>$* $#tcp$@nmfecc.arpa$:$1@$2.MFENET$3 MFENET R$*<@$+.CSNET>$* $#tcp$@relay.cs.net$:$1@$2.CSNET$3 CSNET R$*<@$->$* $#tcp$@$2$:$1@$2$3 # CHANGE OR DELETE THIS LINE R$*<@$+.$+.umn.edu>$* $#tcp$@$2.$3.umn.edu$:$1@$2.umn.edu$3 on uofm network # route through mailhost with nameserver support R$*<@$+>$* $#tcp$@$F$:$1@$2$3 user@domain # remaining names must be local R@ $n fix magic token R$+ $#local$:$1 everything else ############################################################################### ### End of ruleset zero ### ############################################################################### ########################### # Name Canonicalization # ########################### S3 # handle "from:<>" special case R<> $@@ resolve into magic token # basic textual canonicalization R$*<$*<$*<$+>$*>$*>$* $4 3-level <> nesting R$*<$*<$+>$*>$* $3 2-level <> nesting R$*<$+>$* $2 basic RFC821/822 parsing R$+ at $+ $1@$2 "at" -> "@" for RFC 822 R$*<$*>$* $1$2$3 in case recursive # make sure <@a,@b,@c:user@d> syntax is easy to parse -- undone later R@$+,$+ @$1:$2 change all "," to ":" # localize and dispose of domain-based addresses R@$+:$+ $@$>6<@$1>:$2 handle <route-addr> # more miscellaneous cleanup R$+ $:$>8$1 host dependent cleanup R$+:$*;@$+ $@$1:$2;@$3 list syntax R$+@$+ $:$1<@$2> focus on domain R$+<$+@$+> $1$2<@$3> move gaze right R$+<@$+> $@$>6$1<@$2> already canonical # convert old-style addresses to a domain-based address R$+^$+ $1!$2 convert ^ to ! R$+!$+ $@$>9$1!$2 uucp name hackery R$+%$+ $:$>5$1%$2 user%host%host R$+<@$+> $@$>6$1<@$2> canonical # Given multiple %'s change rightmost % to @. S5 R$*<$*>$* $1$2$3 defocus R$*%$* $1@$2 First make them all @'s. R$*@$*@$* $1%$2@$3 Undo all but the last. R$*@$* $@$1<@$2> Put back the brackets. ############################################################################### #### Assorted name hackery to make things simple for people #### ############################################################################### # here we look for addresses of the form: user%host.domain@gateway # and strip off the gateway name (for the ones that we know) S6 # conventional percent format R$+%$+.MAILNET<@mit-multics.arpa> $>5$1<%$2.MAILNET> strip R$+%$+.MFENET<@nmfecc.arpa> $>5$1<%$2.MFENET> strip R$+%$+.BITNET<@cunyvm.cuny.edu> $>5$1<%$2.BITNET> strip R$+%$+.CSNET<@relay.cs.net> $>5$1<%$2.CSNET> strip # regulation route-addr format R<@mit-multics.arpa>:$+@$+.MAILNET $1<@$2.MAILNET> strip R<@nmfecc.arpa>:$+@$+.MFENET $1<@$2.MFENET> strip R<@cunyvm.cuny.edu>:$+@$+.BITNET $1<@$2.BITNET> strip R<@relay.cs.net>:$+@$+.CSNET $1<@$2.CSNET> strip # mung up names for the outside world - called from tcp mailer S7 R$+@$+.MAILNET $1%$2.MAILNET@mit-multics.arpa user@host.MAILNET R$+@$+.MFENET $1%$2.MFENET@nmfecc.arpa user@host.MFENET R$+@$+.BITNET $1%$2.BITNET@cunyvm.cuny.edu user@host.BITNET R$+@$+.CSNET $1%$2.CSNET@relay.cs.net user@host.CSNET ############################################################################### #### UUCP address hackery #### ############################################################################### S9 R$+!$=w!$+ $3 collapse loops R$-.$+!$+ $@$>6$3<@$1.$2> do.main!user R$-!$+ $@$>6$2<@$1.UUCP> host!user ################################ # Sender Field Pre-rewriting # ################################ S1 R$*<$*>$* $1$2$3 defocus ################################### # Recipient Field Pre-rewriting # ################################### S2 R$*<$*>$* $1$2$3 defocus ################################### # Final Output Post-rewriting # # Standard Domain-based version # ################################### S4 R@ $n handle <> error addr # externalize local domain info R@$+:$+:$+ $@@$1,$2:$3 <route-addr> canonical # UUCP must always be presented in old form R$+@$-.UUCP $2!$1 u@h.UUCP => h!u ############################################################################### ### Local, and Program Mailer specifications ### ############################################################################### # Nota Bene: what mailer flags you use depends upon what version of /bin/mail # you have: # # 4th Berkeley Software Distribution (4.1 BSD or later) Mlocal, P=/bin/mail, F=SlsDFMPpmxf, S=10, R=20, A=mail -d $u # # USG UNIX (System III, System V, Xenix 3.0 or later) # Mlocal, P=/bin/mail, F=SlsDFMPpmnx, S=10, R=20, A=mail $u # # Also, if you are using System V, you should get the Berkeley version of # /bin/mail as soon as you can and junk the one you've got: it doesn't # believe in sendmail, so the wrong thing will happen when someone types # mail user@host (i.e. it will attempt local delivery, rather than call # sendmail) Mprog, P=/bin/sh, F=lsDFMpxehu, S=10, R=20, A=sh -c $u S10 S20 ############################################################################### #### IP/TCP/SMTP mailer (going out to internet land) #### ############################################################################### Mtcp, P=[IPC], F=AmnDFMpueXLC, S=14, R=14, A=IPC $h, E=\r\n S14 R$*@[$+]$* $@$1@[$2]$3 already ok (inet addr spec) R@$+@$+ $@@$1@$2 already ok (route-addr) R$+@$=X.UUCP $2!$1@$X fix remote UUCP R$+@$=Y.UUCP $2!$1@$Y fix remote UUCP R$+@$=Z.UUCP $2!$1@$Z fix remote UUCP R$+@$-.UUCP $2!$1@$j undo local UUCP hack R$+@$+ $@$>7$1@$2 fix up names for the internet R$+ $@$1@$j add our official host name ############################################################################### #### UUCP mailer (bangland) #### ############################################################################### # if none of your UUCP neighbors are 4.1 BSD sites, add an "m" after "F=" # this will cause multiple recipients on the same remote host to be done # in the same uux command (i.e. one letter sent for "n" recipients) # # if you want uucico to be invoked immediately after a letter is queued # (i.e. initiate the phone call immediately) remove the "-r" flag in the # uux command line. Muucp, P=/usr/bin/uux, F=sDFMxhuU, S=13, R=23, M=100000, A=uux - -r $h!rmail ($u) S13 R$+@$-.UUCP $2!$1 u@host.UUCP => host!u R$=w!$+ $2 zap dups R@$+@$+ $@$U!@$1@$2 ugh, route-addrs # unfortunately, I have to resolve route-addrs before this rule, because # it is so general that it matches them too, with disastrous results. - EEF R$+@$-.$+ $2.$3!$1 uucpize address R$+ $:$U!$1 stick on our host name S23 # nothing here because bangland mailers are supposed to rewrite these headers # relative to the sender by themselves anyway. Also, if you are running a name server, you can skip the part about forwarders and mailhost. -- glen Niebur | A dragon lives forever, but not so little boys u of minn. mech. eng. | productivity center | 612 625-3522 | >From bobf@blumiris.chem.umr.edu Fri May 25 08:34:37 1990 Return-Path: <bobf@blumiris.chem.umr.edu> Date: Tue, 15 May 90 20:06:18 CDT >From: bobf@blumiris.chem.umr.edu (Robert B. Funchess) To: wlim@ai.mit.edu Subject: sendmail.cf It's horrible, isn't it? I seem to have ours working, finally. Check your /etc/hosts file. Make sure that 127.1 localhost loopback is at the top, then at the bottom, put your real IP number and the FULL OFFICIAL NAME, e.g. 131.151.14.48 clciris.chem.umr.edu clciris then put aliases AFTER the full name. Also make sure your forwarding host is in the file... it probably should be one in your own subdomain (I tried using our main TCP connection as the forwarding host... it didn't work, because it's not in the .chem. subdomain). Now, in /usr/lib/sendmail.cf, replace the DD line with the full domain name (in our case DDchem.umr.edu The official hostname line should look like Dj$w The forwarding host line -- DFibm530.chem.umr.edu CFibm530 Then down a little way there is a line starting with ON... ours reads ONchem.umr.edu That's it for the sendmail.cf file. Now make sure your hostname is right (/etc/sys_id should be the SHORT name, without domain, of your Iris) and kill and restart the mailer-demon. You'll need to rebuild the aliases file also.. run /usr/lib/newalises before starting the daemon back up again. If you have a sendmail.fc file, delete it just before you rebuild the aliases. Hope this helps... -- Bob Funchess bobf@blumiris.chem.umr.edu Chemistry Dept. University of Missouri - Rolla >From parkins@tcgould.tn.cornell.edu Fri May 25 08:34:56 1990 Return-Path: <parkins@tcgould.tn.cornell.edu> Date: Wed, 16 May 90 14:03:12 EDT >From: parkins@tcgould.tn.cornell.edu (David Parkins) To: wlim@ai.mit.edu Subject: Re: Messing around with sendmail.cf Newsgroups: comp.sys.sgi In-Reply-To: <9005151205.AA16842@rice-chex> Organization: Cornell Theory Center, Cornell University, Ithaca NY Cc: I have a sendmail.cf file and some other stuff that works (I went through this about four months ago). If you don't get any info from anyone else, or you don't have luck with what you get send me mail. parkins@patella.tn.cornell.edu Dave Parkins >From roberts%nimrod.wpd@sgi.com Fri May 25 08:35:02 1990 Return-Path: <@eddie.mit.edu:roberts%nimrod.wpd@sgi.com> Date: Wed, 16 May 90 11:31:47 -0700 >From: roberts%nimrod.wpd@sgi.com (roberts) To: wlim@ai.mit.edu Subject: Re: Messing around with sendmail.cf Return-Receipt-To: roberts%nimrod.wpd@sgi.com If you could forward me some specifics about the trouble you are having receiving mail on the PI, I would be glad to try and help. I assume that the mail going into the PI is bouncing. It would be a good start if you could mail me the entire contents of one or more of the bounced messages. - Robert Stephens >From ajp2o@crocus.medicine.rochester.edu Fri May 25 08:35:05 1990 Return-Path: <ajp2o@crocus.medicine.rochester.edu> Date: Tue, 15 May 90 14:14:19 EDT >From: ajp2o@crocus.medicine.rochester.edu (Anthony Persechini) To: wlim@ai.mit.edu Subject: Re: Messing around with sendmail.cf Newsgroups: comp.sys.sgi In-Reply-To: <9005151205.AA16842@rice-chex> Organization: University of Rochester I had a problem with e'mail at this location caused by a rewriting rule in the cf file. This is the offending part of the file, including my alterations: # Find which network this host is on by prepending $w!$w! # This does not work right; it routes mail back to sender. # A.P. # R$+ $:$w!$w!$1 R$-.$D!$-.$D!$+ $:$1!$2!$3 You might also check your netmask and your sys_id entry. Have you tried to get a diagnosis by running mail_bsd in the verbose (-v) mode. By the way, on my machine the search path was such that mail_att was run instead of mail_bsd. Hope this is of some help. Tony- >From wlim@ai.mit.edu Fri May 25 08:35:09 1990 >From: wlim@ai.mit.edu (William Y-P. Lim) Date: Mon, 21 May 90 06:32:35 EDT To: wlim@gdstech.grumman.com Cc: wlim@crcvs Subject: [spike@world.std.com: Re: Messing around with sendmail.cf] Return-Path: <@encore.encore.com:spike@world.std.com> Date: Fri, 18 May 90 12:50:04 -0400 >From: spike@world.std.com (Joe Ilacqua) To: wlim@ai.mit.edu Subject: Re: Messing around with sendmail.cf Newsgroups: comp.sys.sgi In-Reply-To: <9005151205.AA16842@rice-chex> Organization: Software Tool & Die Cc: This works: ############################################################ # # Sendmail configuration file for "MAIN MACHINES" # # You should install this file as /etc/sendmail.cf (SUN 4.0.x sendmail) # or /usr/lib/sendmail (IDA) on the mail server for any given cluster # of hosts. # # This is based on the SUN 4.0.3 sendmail.cf, with many hacks and # bug fixes by Joe Ilacqua (spike@world.std.com) with alot of prompting # from Eric Pearce (eap@bu-pub.bu.edu) # # This is an attempt at a generic cf. If you are on the DDN or talk via # 'ethernet' or UUCP to a machine that is, this cf can work for you. # # Setup everything in the "local info" section, then find everything # markked "CONFIGURE ME" and do just that... ### local info # my official hostname # You have two choices here. If you want the gateway machine to identify # itself as the DOMAIN, use this line: #Dj$m # If you want the gateway machine to appear to be INSIDE the domain, use: #Dj$w.$m # Unless you are using sendmail.mx (or have a fully-qualified hostname), use: Dj$w # What we want to call ourself. For example: #Dwworld.std.com Dwagni.std.com # All of the names this machine is know by. For example: #Cw world.std.com std.com world sug.org Cw # The domain name of this machine. For example: #Dmstd.com Dm # major relay mailer - typical choice is # "ddn" if you are on the Defense Data Network (e.g. Arpanet or Milnet) # or if you are going to pass mail to a better connected machine on # your ethernet. # "smartuucp" if you pass 'domain style' addresses to a better connected # site via uucp #For example #DMsmartuucp DMddn # major relay host: # If you are using "smartuucp" this should be the uucp name of the 'better # connected site'. If you are passing to another local machine this should be # the name of that machine. If you are on the Defense Data Network set it to # 'ddn-relay' For example: #DR xylogics #CR xylogics DR CR # Dumb UUCP connections of this machine, that is ones that need UUCP style # address. (You may leave this blank.) For example: #CU paradigm esegue CU # Smart UUCP connections, that is ones that can take 'domain style addresses'. # (You may leave this blank.) For example #CS xylogics uunet bu.edu CS #Other domain that can be reached over the local ethernet #CL expert.com CL # Forward all unknown (non-local) UUCP machines to this machine. This # is only useful if you talk to a machine that runs path-aliases and # doesn't mind you using theirs. Comment this out if you use # pathalias bellow or if you don't want to handle unknown UUCP names. # For example: #DP xylogics DP # If you define DP then this should be the type of connection you have to the # forwarding machine. It should be "uucp" if it is a uucp connection or "ddn" # if it is over the ethernet. For example: #DF uucp DF ddn # Or (and I do mean or) if you are running IDA sendmail and you have a # path database built with pathalias and IDAs dbm program you can set this # to be the path of that file. Useless without sendmail 5.61+++ or IDA #OKP/tmp/pathdb # Now ajust all the "CONFIGURE ME" sections ################################################# # # General configuration information # Version number of configuration file DVSpike-1.0 ### Standard macros # name used for error messages DnMailer-Daemon # UNIX header format DlFrom $g $d # delimiter (operator) characters Do.:%@!^=/[] # format of a total name Dq$g$?x ($x)$. # SMTP login message De$j Sendmail $v/$V ready at $b ### Options CONFIGURE ME #If you are *not* using the nameserver change the 'T' to a 'F' OIT # location of alias file. SUN likes /etc/aliases OA/usr/lib/aliases # options that you probably want on a mailhost: # checkpoint the queue after this many receipients OC10 # refuse to send tiny messages to more than these recipients Ob10 # default delivery mode (deliver in background) Odbackground # rebuild the alias file automagically OD # temporary file mode -- 0600 for secure mail, 0644 for permissive OF0600 # default GID Og1 # location of help file OH/usr/lib/sendmail.hf # log level OL9 # default messages to old style Oo # Cc my postmaster on error replies I generate OPPostmaster # queue directory OQ/usr/spool/mqueue # read timeout for SMTP protocols Or15m # status file OS/etc/sendmail.st # queue up everything before starting transmission, for safety Os # return queued mail after this long OT3d # default UID Ou1 ### Message precedences Pfirst-class=0 Pspecial-delivery=100 Pjunk=-100 ### Trusted users T root daemon uucp ### Format of headers H?P?Return-Path: <$g> HReceived: $?sfrom $s $.by $j ($v/$V) id $i; $b H?D?Resent-Date: $a H?D?Date: $a H?F?Resent-From: $q H?F?From: $q H?x?Full-Name: $x HSubject: H?M?Resent-Message-Id: <$t.$i@$j> H?M?Message-Id: <$t.$i@$j> HErrors-To: ########################### ### Rewriting rules ### ########################### # Sender Field Pre-rewriting S1 # None needed. # Recipient Field Pre-rewriting S2 # None needed. # Name Canonicalization # Internal format of names within the rewriting rules is: # anything<@host.domain.domain...>anything # We try to get every kind of name into this format, except for local # names, which have no host part. The reason for the "<>" stuff is # that the relevant host name could be on the front of the name (for # source routing), or on the back (normal form). We enclose the one that # we want to route on in the <>'s to make it easy to find. # S3 # handle "from:<>" special case R<> $@@ turn into magic token # basic textual canonicalization R$*<$+>$* $2 basic RFC822 parsing # make sure <@a,@b,@c:user@d> syntax is easy to parse -- undone later R@$+,$+:$+ @$1:$2:$3 change all "," to ":" R@$+:$+ $@$>6<@$1>:$2 src route canonical R$+:$*;@$+ $@$1:$2;@$3 list syntax R$+@$+ $:$1<@$2> focus on domain R$+<$+@$+> $1$2<@$3> move gaze right R$+<@$+> $@$>6$1<@$2> already canonical # convert old-style names to domain-based names # All old-style names parse from left to right, without precedence. # The next two lines allow us to catch UUCP neighbor with domain UUCP names # (like bu.edu) R$=U!$+ $@$>6$2<@$1.uucp> uucphost!user R$=S!$+ $@$>6$2<@$1.uucp> uucphost!user R$-!$+ $@$>6$2<@$1.uucp> uucphost!user R$-.$+!$+ $@$>6$3<@$1.$2> host.domain!user R$+%$+ $@$>3$1@$2 user%host # Final Output Post-rewriting S4 R$+<@$+.uucp> $2!$1 u@h.uucp => h!u R$+ $: $>9 $1 Clean up addr R$*<$+>$* $1$2$3 defocus # Clean up an name for passing to a mailer # (but leave it focused) S9 R@ $@$n handle <> error addr R$*<$*LOCAL>$* $1<$2$m>$3 change local info R<@$+>$*:$+:$+ <@$1>$2,$3:$4 <route-addr> canonical ####################### # Rewriting rules # special local conversions S6 # CONFIGURE ME This needs to be changed if you are not using 5.61+++ # (Hint: your not but you could pick it up from bu.edu) # Change foo.com to be your local domain same as 'Dm' above R$*<@$+.foo.com>$* $1<@$2.LOCAL>$3 convert local domain # Comment out above line and uncomment the next one if you have 5.61+++ #R$*<@$+.$m>$* $1<@$2.LOCAL>$3 convert local domain # Local and Program Mailer specification # For 5.61+++ #Mlocal, P=/bin/mail, F=lsDFMmP, S=10, R=20, A=mail -s -d $u # For SGI Mlocal, P=/bin/mail, F=EDFMlsmhu, S=10, R=20, A=mail -s -d $u Mprog, P=/bin/sh, F=lsDFMeuP, S=10, R=20, A=sh -c $u S10 # None needed. S20 # None needed. ########################################################## # General code to convert back to old style UUCP names S5 R$+<@LOCAL> $@ $D!$1 name@LOCAL => sun!name R$+<@$-.LOCAL> $@ $2!$1 u@h.LOCAL => h!u R$+<@$+.uucp> $@ $2!$1 u@h.uucp => h!u R$+<@$*> $@ $2!$1 u@h => h!u # Route-addrs do not work here. Punt til uucp-mail comes up with something. R<@$+>$* $@ @$1$2 just defocus and punt R$*<$*>$* $@ $1$2$3 Defocus strange stuff # UUCP Mailer specification Muucp, P=/usr/bin/uux, F=msDFMhuU, S=13, R=23, A=uux - -r $h!rmail ($u) # Convert uucp sender (From) field S13 R$+ $:$>5$1 convert to old style R$=w!$+ $2 strip local name R$+ $:$w!$1 stick on real host name # Convert uucp recipient (To, Cc) fields S23 R$+ $:$>5$1 convert to old style ############################################################ # # DDN Mailer specification # # Send mail on the Defense Data Network # (such as Arpanet or Milnet) # This line for SUN's sendmail #Mddn, P=[TCP], F=msDFMuCX, S=22, R=22, A=TCP $h, E=\r\n # This Line for IDA Mddn, P=[IPC], F=msDFMuCX, S=22, R=22, A=IPC $h, E=\r\n S22 # If we passed UUCP addresses here we mean it R$*<@$+.uucp> $@$2!$1 R$*!$+ $@$1!$2 R$*<@LOCAL>$* $:$1 R$*<@$+.$*>$* $@$1<@$2.$3>$4 already ok R$*<@$+>$* $@$1<@$2.$m>$3 tack on our domain R$+ $@$1<@$w> tack on our hostname # "Smart" UUCP mailer: Uses UUCP transport but domain-style naming Msmartuucp, P=/usr/bin/uux, F=CmsDFMhu, S=22, R=22, A=uux - -r $h!rmail ($u) # Ruleset 30 just calls rulesets 3 then 0. S30 R$* $: $>3 $1 First canonicalize R$* $@ $>0 $1 Then rerun ruleset 0 ############################################################ # # RULESET ZERO # # This is the ruleset that determines which mailer a name goes to. S0 # On entry, the address has been canonicalized and focused by ruleset 3. # Handle special cases..... R@ $#local $:$n handle <> form # I hear Eric Allman regretted forgetting this # If it is exactly one token it has to be local so why grind? R$- $#local $:$1 local names # For numeric spec, you can't pass spec on to receiver, since rcvr's # are not smart enough to know that [x.y.z.a] is their own name. R<@[$+]>:$* $:$>9 <@[$1]>:$2 Clean it up, then... R<@[$+]>:$* $#ddn $@[$1] $:$2 numeric internet spec R<@[$+]>,$* $#ddn $@[$1] $:$2 numeric internet spec R$*<@[$+]> $#ddn $@[$2] $:$1 numeric internet spec # resolve the local hostname to "LOCAL". R$*<$*$=w.LOCAL>$* $1<$2LOCAL>$4 thishost.LOCAL R$*<$*$=w.uucp>$* $1<$2LOCAL>$4 thishost.uucp R$*<$*$=w>$* $1<$2LOCAL>$4 thishost # Mail addressed explicitly to the domain gateway (us) R$*<@LOCAL> $@$>30$1 strip our name, retry R<@LOCAL>:$+ $@$>30$1 retry after route strip # deliver to known ethernet hosts explicitly specified in our domain R$*<@$*.LOCAL>$* $#ddn $@$2.$m $:$1<@$2>$3 user@host.sun.com # Deliver to other domains in our reach.. R$*<@$*$=L>$* $#ddn $@$2$3 $:$1<@$2$3>$4 # Clean up addresses for external use -- kills LOCAL, route-addr ,=>: R$* $:$>9 $1 Then continue... # resolve UUCP-style names R$+<@$=S.uucp> $#smartuucp $@$2 $:$2!$1 user@host.uucp R$+<@$=U.uucp> $#uucp $@$2 $:$2!$1 user@host.uucp # CONFIGURE ME # If you can punt UUCP traffic to a host running pathaliases use these # two lines R<@$-.uucp>:$+ $#$F $@$P $:<@$1.uucp>:$2 @host.uucp:... R$+<@$-.uucp> $#$F $@$P $:$2!$1 user@host.uucp # If you want unknown uucp name to return an error uses these two lines #R<@$-.uucp>:$+ $#error $:$1 is not a uucp neighbor of "$w" #R$+<@$-.uucp> $#error $:$2 is not a uucp neighbor of "$w" #If you are using IDA and have a path database use these #R$+<@$-.uucp> $: $(P $2 $@$1<UUCP> $:$1<@.$2.uucp> $) #R$+<@.$-.uucp> $#error $:Can not find a path to $2 #R$-!$+<UUCP> $#uucp $@$1 $:$1!$2 # CONFIGURE ME # Uncomment the following line if you are you are *not* on DDN R$*<@$*.$+>$* $#$M $@$R $:$1<@$2.$3>$4 user@any.domain # Or if you *are* on the DDN, then use this line #R$*<@$*.$+>$* $#ddn $@ $2.$3 $:$1<@$2.$3>$4 user@any.domain # All addresses in the rules ABOVE are absolute (fully qualified domains). # Addresses BELOW can be partially qualified. # deliver to known ethernet hosts R$*<@$->$* $#ddn $@$2.$m $:$1<@$2>$3 user@etherhost # other non-local names have nowhere to go; return them to sender. R$*@$* $#error $:I don't understand $1@$2 # Local names with % are really not local! R$+%$+ $@$>30$1@$2 turn % => @, retry # everything else is a local name R$+ $#local $:$1 local names