|
|
1.1 ! root 1: ############################################################ ! 2: # ! 3: # SENDMAIL CONFIGURATION FILE ! 4: # ! 5: # supports internet style addressing ! 6: # over UUCP and ethernet links. ! 7: # ! 8: # A product of the UUCP Project. ! 9: # ! 10: # @(#)template.cf 2.5 (smail) 9/15/87 ! 11: # ! 12: ############################################################ ! 13: ! 14: ! 15: ############################################################ ! 16: # ! 17: # Local configuration options - HINTS ! 18: # ! 19: # Host name and domain name macros. ! 20: # ! 21: # Dw sets $w ! 22: # DD sets $D ! 23: # CD sets $=D ! 24: # ! 25: # $D and $=D list all domains in which this host sits. ! 26: # $D goes into outbound addresses, i.e. "user@$w.$D". ! 27: # $A is another domain for which this host is 'authoritative' ! 28: # it will will be turned into $D. ! 29: ! 30: CF_HOST ! 31: CF_DOMAIN ! 32: CF_AUTHORITY ! 33: CF_DCLASS ! 34: ! 35: # Preemptive ether connections. We prefer these connections ! 36: # over both designated transport mechanisms and the general depository. ! 37: # You can add more classes (here and in S0). ! 38: ! 39: # /etc/hosts.smtp might be a link to /etc/hosts ! 40: # ! 41: CF_SMTP ! 42: ! 43: # Mock top-level domain names. These name designate a transport mechanism ! 44: # and appear internally only, set in S3, used in S0, and removed in S4 and ! 45: # (possibly) the ruleset for the particular mailer. ! 46: ! 47: CTETHER UUX ! 48: ! 49: # Relay host. Used at the end of S0 as the general depository for ! 50: # addresses which didn't resolve locally. ! 51: ! 52: DRrelay ! 53: ! 54: # ! 55: # End Local configuration options ! 56: # ! 57: ############################################################ ! 58: ! 59: ############################################################ ! 60: # ! 61: # General configuration information ! 62: # ! 63: ############################################################ ! 64: ! 65: DVsmail2.5/CF_DATE ! 66: ! 67: ########################## ! 68: # Special macros # ! 69: ########################## ! 70: ! 71: # official hostname ! 72: Dj$w.$D ! 73: # my name ! 74: DnMAILER-DAEMON ! 75: # UNIX header format ! 76: DlFrom $g $d ! 77: # delimiter (operator) characters ! 78: Do.:%@!^=/[] ! 79: # format of a total name ! 80: Dq$g$?x ($x)$. ! 81: # SMTP login message ! 82: De$j Sendmail $v/$V ready at $b ! 83: ! 84: ! 85: ################### ! 86: # Options # ! 87: ################### ! 88: ! 89: # location of alias file ! 90: OA/usr/lib/aliases ! 91: # default delivery mode (deliver in background) ! 92: Odbackground ! 93: # (don't) connect to "expensive" mailers ! 94: #Oc ! 95: # temporary file mode ! 96: OF0644 ! 97: # default GID ! 98: Og1 ! 99: # location of help file ! 100: OH/usr/lib/sendmail.hf ! 101: # log level ! 102: OL9 ! 103: # default messages to old style ! 104: Oo ! 105: # queue directory ! 106: OQ/usr/spool/mqueue ! 107: # read timeout -- violates protocols ! 108: Or2h ! 109: # status file ! 110: OS/usr/lib/sendmail.st ! 111: # queue up everything before starting transmission ! 112: Os ! 113: # default timeout interval ! 114: OT3d ! 115: # time zone names (V6 only) ! 116: OtPST,PDT ! 117: # default UID ! 118: Ou1 ! 119: # wizard's password ! 120: OWvoidpasswords ! 121: ! 122: ############################### ! 123: # Message precedences # ! 124: ############################### ! 125: ! 126: Pfirst-class=0 ! 127: Pspecial-delivery=100 ! 128: Pjunk=-100 ! 129: ! 130: ######################### ! 131: # Trusted users # ! 132: ######################### ! 133: ! 134: Troot ! 135: Tdaemon ! 136: Tuucp ! 137: Tnetwork ! 138: ! 139: ############################# ! 140: # Format of headers # ! 141: ############################# ! 142: ! 143: #H?P?Return-Path: <$g> ! 144: HReceived: $?sfrom $s ! 145: $.by $j ($v/$V) ! 146: id $i; $b ! 147: H?D?Resent-Date: $a ! 148: H?D?Date: $a ! 149: H?F?Resent-From: $q ! 150: H?F?From: $q ! 151: H?x?Full-Name: $x ! 152: HSubject: ! 153: # HPosted-Date: $a ! 154: # H?l?Received-Date: $b ! 155: H?M?Resent-Message-Id: <$t.$i@$j> ! 156: H?M?Message-Id: <$t.$i@$j> ! 157: ! 158: ############################################################ ! 159: # ! 160: # REWRITING RULES ! 161: # ! 162: ! 163: ! 164: ########################### ! 165: # # ! 166: # Name Canonicalization # ! 167: # # ! 168: ########################### ! 169: S3 ! 170: ! 171: # basic textual canonicalization ! 172: R<> $@@ turn into magic token ! 173: R$*<$+>$* $2 basic RFC821/822 parsing ! 174: R$+ at $+ $1@$2 "at" -> "@" for RFC 822 ! 175: R$*<$*>$* $1$2$3 in case recursive ! 176: ! 177: # handle route-addr <@a,@b,@c:user@d> ! 178: R@$+,$+ @$1:$2 change all "," to ":" ! 179: R@$+:$+ $@<@$1>:$2 handle <route-addr> ! 180: R$+:$*;@$+ $@$1:$2;@$3 list syntax ! 181: ! 182: # Rewrite address into a domain-based address. Any special mock domain names ! 183: # (like UUX) should be defined on the CT line and removed (if necessary) ! 184: # in S4. You can use them in S0 for designated transport mechanisms. ! 185: ! 186: # Delimiters with precedence over @. Add yours here. ! 187: ! 188: # The @ delimiter. Leave this alone. ! 189: R$+@$+ $:$1<@$2> focus on domain ! 190: R$+<$+@$+> $1$2<@$3> move gaze right ! 191: R$+<@$+> $@$1<@$2> already canonical ! 192: ! 193: # Delimiters with precedence below @. Add yours here. ! 194: R$+^$+ $1!$2 convert ^ to ! ! 195: R$-!$+ $@$2<@$1.UUX> resolve uucp names ! 196: R$+.!$+ $@$2<@$1> domain.!host ! 197: R$+!$+ $@$2<@$1> domain!host ! 198: ! 199: # % is a low precedence @. ! 200: R$*%$* $@$>3$1@$2 %->@ and retry ! 201: ! 202: ############################################################ ! 203: # ! 204: # RULESET ZERO PREAMBLE ! 205: # ! 206: ############################################################ ! 207: ! 208: S0 ! 209: ! 210: # first make canonical ! 211: R$*<$*>$* $1$2$3 defocus ! 212: R$+ $:$>3$1 make canonical ! 213: ! 214: # handle special cases..... ! 215: R@ $#local$:MAILER-DAEMON handle <> form ! 216: R$*<@[$+]>$* $#ether$@[$2]$:$1@[$2]$3 numeric internet spec ! 217: ! 218: # strip local stuff ! 219: R$*<@$-.$w.$D>$* $1<@$2>$3 thishost.mydom ! 220: CF_GATEWAYR$*<@$-.$D>$* $1<@$2>$3 mydom ! 221: R$*<@$-.$w.$=D>$* $1<@$2>$4 thishost.anydom ! 222: R$*<@$-.$w.$A>$* $1<@$2>$3 thishost.anotherdom ! 223: R$*<@$-.$A>$* $1<@$2>$3 anotherdom ! 224: R$*<@$-.$w.$=T>$* $1<@$2>$4 thishost.mockdom ! 225: CF_GATEWAYR$*<$*$w>$* $1<$2>$3 thishost ! 226: R$*<$*.>$* $1<$2>$3 drop trailing dot ! 227: R<@>:$+ $@$>0$1 strip null route, retry ! 228: R$+<@> $@$>0$1 strip null addr, retry ! 229: ! 230: ! 231: ############################################### ! 232: # Machine dependent part of ruleset zero # ! 233: ############################################### ! 234: ! 235: # Preemption: for a host on a known link turn the domain spec into a ! 236: # mock domain indicating the link. One set of these rules for each of ! 237: # the F classes listed in the local configuration options. ! 238: ! 239: R$*<$*$=E.$D>$* $:$1<$2$3.ETHER>$4 etherhost.mydomain ! 240: R$*<$*$=E.$=D>$* $:$1<$2$3.ETHER>$5 etherhost.anydomain ! 241: R$*<$*$=E.$A>$* $:$1<$2$3.ETHER>$4 etherhost.anotherdomain ! 242: R$*<$*$=E.$=T>$* $:$1<$2$3.ETHER>$5 etherhost.mock-domain ! 243: R$*<$*$=E>$* $:$1<$2$3.ETHER>$4 etherhost ! 244: ! 245: # Designated delivery: use the indicated transport mechanism. One of ! 246: # these rules for each of the mock domains defined in $=T. You can ! 247: # remove these if you just want general disposition. HINTS. ! 248: ! 249: # Designated delivery: ! 250: R$*<@$=U.UUX>$* $#uux$@$2$:$1$3 known uucphost ! 251: R$*<@$=E$+.ETHER>$* $#ether$@$2$:$1@$2$4 known etherhost ! 252: R$*<@$+.ETHER>$* $#ether$@$2$:$1@$2$3 etherhost ! 253: ! 254: # throw out mock domain name now ! 255: R$*<$*.$=T>$* $1<$2>$4 ! 256: ! 257: # General disposition of remote mail (comment out all but one). You ! 258: # might add to this list, if you have other "smarter" mailers. HINTS. ! 259: ! 260: R$*<@$->:$+ $#uux$@$2$:$1$3 forward to $2 ! 261: R$*<@$*>$* $#uux$@$2$:$1$3 hand to uucp ! 262: #R$*<@$*>$* $#uux$@$R$:$1@$2$3 hand to uucp relay ! 263: #R$*<@$*>$* $#ether$@$R$:$1@$2$3 hand to ether relay ! 264: #R$*<$*>$* $#error$:unknown address $1$2$3 don't hand anywhere ! 265: ! 266: # local delivery ! 267: R$+ $#local$:$1 user ! 268: ! 269: ############################################################ ! 270: # ! 271: # Local and Program Mailer specification ! 272: # ! 273: ############################################################ ! 274: ! 275: CF_SVMAILMlocal, P=CF_LOCALMAIL, F=lsDFMhumSU, S=10, R=20, A=rmail $u ! 276: CF_BSMAILMlocal, P=CF_LOCALMAIL, F=rlsDFMmn, S=10, R=20, A=mail -d $u ! 277: Mprog, P=/bin/sh, F=lsDFMe, S=10, R=20, A=sh -c $u ! 278: ! 279: S10 ! 280: R@ MAILER-DAEMON errors to mailer-daemon ! 281: CF_HIDDENHOSTSR$+<@$+.$j>$* $1<@$j>$3 hide anydom.$j under $j ! 282: ! 283: S20 ! 284: ! 285: ############################################################ ! 286: # ! 287: # UUCP Mailer specification ! 288: # ! 289: ############################################################ ! 290: ! 291: Muux, P=/bin/smail, F=sDFMhum, S=14, R=24, M=100000, ! 292: A=smail -vH$j $h!$u ! 293: ! 294: S14 ! 295: R$+<@$=E> $1 user@etherhost -> user ! 296: R$*<@$+>$* $@$1<@$2>$3 already ok ! 297: CF_HIDDENHOSTSR$+<@$+.$j>$* $1<@$j>$3 hide anydom.$j under $j ! 298: R$+ $@$1<@$j> add our full address ! 299: ! 300: S24 ! 301: ! 302: ############################################################ ! 303: # ! 304: # SMTP ethernet mailer ! 305: # ! 306: ############################################################ ! 307: ! 308: Mether, P=[IPC], F=msDFMuCXP, S=11, R=21, A=IPC $h ! 309: ! 310: S11 ! 311: R$*<@$+>$* $@$1<@$2>$3 already ok ! 312: R$+ $@$1<@$w> add our hostname ! 313: ! 314: S21 ! 315: ! 316: ################################# ! 317: # Final Output Post-rewriting # ! 318: ################################# ! 319: ! 320: # This rewrites the internal $=T mock domains into their external form. ! 321: # The default is to replace the mock domain name with $D. ! 322: # The last two lines are stock. ! 323: ! 324: S4 ! 325: R@ $@ handle <> error addr ! 326: R$+<@$-.UUX> $2!$1 [email protected] => host!u ! 327: R$*<$*$=T>$* $:$1<$2$D>$4 change local info ! 328: R$*<$+>$* $1$2$3 defocus ! 329: R@$+:$+:$+ @$1,$2:$3 <route-addr> canonical
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.