1divert(-1) 2# 3# Copyright (c) 1983 Eric P. Allman 4# Copyright (c) 1988, 1993 5# The Regents of the University of California. All rights reserved. 6# 7# %sccs.include.redist.sh% 8# 9divert(0) 10 11VERSIONID(`@(#)nullrelay.m4 8.5 (Berkeley) 02/01/94') 12 13# 14# This configuration applies only to relay-only hosts. They send 15# all mail to a hub without consideration of the address syntax 16# or semantics, except for adding the hub qualification to the 17# addresses. 18# 19# This is based on a prototype done by Bryan Costales of ICSI. 20# 21 22# hub host (to which all mail is sent) 23DH`'ifdef(`MAIL_HUB', MAIL_HUB, 24 `errprint(`MAIL_HUB not defined for nullclient feature')') 25 26# name from which everyone will appear to come 27DM`'ifdef(`MASQUERADE_NAME', MASQUERADE_NAME, MAIL_HUB) 28 29# route-addr separators 30C: : , 31 32undivert(6)dnl 33 34###################### 35# Special macros # 36###################### 37 38# SMTP initial login message 39De`'confSMTP_LOGIN_MSG 40 41# UNIX initial From header format 42Dl`'confFROM_LINE 43 44# my name for error messages 45Dn`'confMAILER_NAME 46 47# delimiter (operator) characters 48Do`'confOPERATORS 49 50# format of a total name 51Dq<$g> 52include(`../m4/version.m4') 53 54############### 55# Options # 56############### 57 58# strip message body to 7 bits on input? 59O7`'confSEVEN_BIT_INPUT 60 61# no aliases here 62 63# substitution for space (blank) characters 64OB`'confBLANK_SUB 65 66# default delivery mode 67Od`'confDELIVERY_MODE 68 69# error message header/file 70ifdef(`confERROR_MESSAGE', 71 OE`'confERROR_MESSAGE, 72 #OE/etc/sendmail.oE) 73 74# error mode 75ifdef(`confERROR_MODE', 76 Oe`'confERROR_MODE, 77 #Oep) 78 79# save Unix-style "From_" lines at top of header? 80Of`'confSAVE_FROM_LINES 81 82# temporary file mode 83OF`'confTEMP_FILE_MODE 84 85# default GID 86Og`'confDEF_GROUP_ID 87 88# maximum hop count 89Oh`'confMAX_HOP 90 91# location of help file 92OH`'ifdef(`HELP_FILE', HELP_FILE, /usr/lib/sendmail.hf) 93 94# ignore dots as terminators in incoming messages? 95Oi`'confIGNORE_DOTS 96 97# Insist that the BIND name server be running to resolve names 98ifdef(`confBIND_OPTS', 99 OI`'confBIND_OPTS, 100 #OI) 101 102# deliver MIME-encapsulated error messages? 103Oj`'confMIME_FORMAT_ERRORS 104 105# open connection cache size 106Ok`'confMCI_CACHE_SIZE 107 108# open connection cache timeout 109OK`'confMCI_CACHE_TIMEOUT 110 111# use Errors-To: header? 112Ol`'confUSE_ERRORS_TO 113 114# log level 115OL`'confLOG_LEVEL 116 117# send to me too, even in an alias expansion? 118Om`'confME_TOO 119 120# default messages to old style headers if no special punctuation? 121Oo`'confOLD_STYLE_HEADERS 122 123# SMTP daemon options 124ifdef(`confDAEMON_OPTIONS', 125 OO`'confDAEMON_OPTIONS, 126 #OOPort=esmtp) 127 128# privacy flags 129Op`'confPRIVACY_FLAGS 130 131# who (if anyone) should get extra copies of error messages 132ifdef(`confCOPY_ERRORS_TO', 133 OP`'confCOPY_ERRORS_TO, 134 #OPPostmaster) 135 136# slope of queue-only function 137ifdef(`confQUEUE_FACTOR', 138 Oq`'confQUEUE_FACTOR, 139 #Oq600000) 140 141# queue directory 142OQ`'ifdef(`QUEUE_DIR', QUEUE_DIR, /var/spool/mqueue) 143 144# read timeout -- now OK per RFC 1123 section 5.3.2 145ifdef(`confREAD_TIMEOUT', 146 Or`'confREAD_TIMEOUT, 147 #Ordatablock=10m) 148 149# queue up everything before forking? 150Os`'confSAFE_QUEUE 151 152# status file 153OS`'ifdef(`STATUS_FILE', STATUS_FILE, /etc/sendmail.st) 154 155# default message timeout interval 156OT`'confMESSAGE_TIMEOUT 157 158# time zone handling: 159# if undefined, use system default 160# if defined but null, use TZ envariable passed in 161# if defined and non-null, use that info 162ifelse(confTIME_ZONE, `USE_SYSTEM', `#Ot', 163 confTIME_ZONE, `USE_TZ', `Ot', 164 `Ot`'confTIME_ZONE') 165 166# default UID 167Ou`'confDEF_USER_ID 168 169# deliver each queued job in a separate process? 170OY`'confSEPARATE_PROC 171 172# work class factor 173ifdef(`confWORK_CLASS_FACTOR', 174 Oz`'confWORK_CLASS_FACTOR, 175 #Oz1800) 176 177# work time factor 178ifdef(`confWORK_TIME_FACTOR', 179 OZ`'confWORK_TIME_FACTOR, 180 #OZ90000) 181 182########################### 183# Message precedences # 184########################### 185 186Pfirst-class=0 187Pspecial-delivery=100 188Plist=-30 189Pbulk=-60 190Pjunk=-100 191 192##################### 193# Trusted users # 194##################### 195 196Troot 197Tdaemon 198Tuucp 199 200######################### 201# Format of headers # 202######################### 203 204H?P?Return-Path: $g 205HReceived: $?sfrom $s $.$?_($_) $.by $j ($v/$Z)$?r with $r$. id $i$?u for $u$.; $b 206H?D?Resent-Date: $a 207H?D?Date: $a 208H?F?Resent-From: $q 209H?F?From: $q 210H?x?Full-Name: $x 211HSubject: 212# HPosted-Date: $a 213# H?l?Received-Date: $b 214H?M?Resent-Message-Id: <$t.$i@$j> 215H?M?Message-Id: <$t.$i@$j> 216# 217###################################################################### 218###################################################################### 219##### 220##### REWRITING RULES 221##### 222###################################################################### 223###################################################################### 224 225########################################### 226### Rulset 3 -- Name Canonicalization ### 227########################################### 228S3 229 230# handle null input and list syntax (translate to <@> special case) 231R$@ $@ <@> 232R$*:;$* $@ $1 :; <@> 233 234# basic textual canonicalization -- note RFC733 heuristic here 235R$*<$*>$*<$*>$* $2$3<$4>$5 strip multiple <> <> 236R$*<$*<$+>$*>$* <$3>$5 2-level <> nesting 237R$*<>$* $@ <@> MAIL FROM:<> case 238R$*<$+>$* $2 basic RFC821/822 parsing 239 240ifdef(`_NO_CANONIFY_', `dnl', 241`# eliminate local host if present 242R@ $=w $=: $+ $@ @ $M $2 $3 @thishost ... 243R@ $+ $@ @ $1 @somewhere ... 244 245R$+ @ $=w $@ $1 @ $M ...@thishost 246R$+ @ $+ $@ $1 @ $2 ...@somewhere 247 248R$=w ! $+ $@ $2 @ $M thishost!... 249R$+ ! $+ $@ $1 ! $2 @ $M somewhere ! ... 250 251R$+ % $=w $@ $1 @ $M ...%thishost 252R$+ % $+ $@ $1 @ $2 ...%somewhere 253 254R$+ $@ $1 @ $M unadorned user') 255 256 257###################################### 258### Ruleset 0 -- Parse Address ### 259###################################### 260 261S0 262 263R$*:;<@> $#error $@ USAGE $: "list:; syntax illegal for recipient addresses" 264 265# pass everything else to a relay host 266R$* $#_RELAY_ $@ $H $: $1 267 268# 269###################################################################### 270###################################################################### 271##### 272`##### MAILER DEFINITIONS' 273##### 274###################################################################### 275###################################################################### 276undivert(7)dnl 277