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.6 (Berkeley) 07/23/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# eight bit data handling 62O8`'confEIGHT_BIT_HANDLING 63 64# no aliases here 65 66# substitution for space (blank) characters 67OB`'confBLANK_SUB 68 69# default delivery mode 70Od`'confDELIVERY_MODE 71 72# error message header/file 73ifdef(`confERROR_MESSAGE', 74 OE`'confERROR_MESSAGE, 75 #OE/etc/sendmail.oE) 76 77# error mode 78ifdef(`confERROR_MODE', 79 Oe`'confERROR_MODE, 80 #Oep) 81 82# save Unix-style "From_" lines at top of header? 83Of`'confSAVE_FROM_LINES 84 85# temporary file mode 86OF`'confTEMP_FILE_MODE 87 88# default GID 89Og`'confDEF_GROUP_ID 90 91# maximum hop count 92Oh`'confMAX_HOP 93 94# location of help file 95OH`'ifdef(`HELP_FILE', HELP_FILE, /usr/lib/sendmail.hf) 96 97# ignore dots as terminators in incoming messages? 98Oi`'confIGNORE_DOTS 99 100# Insist that the BIND name server be running to resolve names 101ifdef(`confBIND_OPTS', 102 OI`'confBIND_OPTS, 103 #OI) 104 105# deliver MIME-encapsulated error messages? 106Oj`'confMIME_FORMAT_ERRORS 107 108# open connection cache size 109Ok`'confMCI_CACHE_SIZE 110 111# open connection cache timeout 112OK`'confMCI_CACHE_TIMEOUT 113 114# use Errors-To: header? 115Ol`'confUSE_ERRORS_TO 116 117# log level 118OL`'confLOG_LEVEL 119 120# send to me too, even in an alias expansion? 121Om`'confME_TOO 122 123# default messages to old style headers if no special punctuation? 124Oo`'confOLD_STYLE_HEADERS 125 126# SMTP daemon options 127ifdef(`confDAEMON_OPTIONS', 128 OO`'confDAEMON_OPTIONS, 129 #OOPort=esmtp) 130 131# privacy flags 132Op`'confPRIVACY_FLAGS 133 134# who (if anyone) should get extra copies of error messages 135ifdef(`confCOPY_ERRORS_TO', 136 OP`'confCOPY_ERRORS_TO, 137 #OPPostmaster) 138 139# slope of queue-only function 140ifdef(`confQUEUE_FACTOR', 141 Oq`'confQUEUE_FACTOR, 142 #Oq600000) 143 144# queue directory 145OQ`'ifdef(`QUEUE_DIR', QUEUE_DIR, /var/spool/mqueue) 146 147# read timeout -- now OK per RFC 1123 section 5.3.2 148ifdef(`confREAD_TIMEOUT', 149 Or`'confREAD_TIMEOUT, 150 #Ordatablock=10m) 151 152# queue up everything before forking? 153Os`'confSAFE_QUEUE 154 155# status file 156OS`'ifdef(`STATUS_FILE', STATUS_FILE, /etc/sendmail.st) 157 158# default message timeout interval 159OT`'confMESSAGE_TIMEOUT 160 161# time zone handling: 162# if undefined, use system default 163# if defined but null, use TZ envariable passed in 164# if defined and non-null, use that info 165ifelse(confTIME_ZONE, `USE_SYSTEM', `#Ot', 166 confTIME_ZONE, `USE_TZ', `Ot', 167 `Ot`'confTIME_ZONE') 168 169# default UID 170Ou`'confDEF_USER_ID 171 172# deliver each queued job in a separate process? 173OY`'confSEPARATE_PROC 174 175# work class factor 176ifdef(`confWORK_CLASS_FACTOR', 177 Oz`'confWORK_CLASS_FACTOR, 178 #Oz1800) 179 180# work time factor 181ifdef(`confWORK_TIME_FACTOR', 182 OZ`'confWORK_TIME_FACTOR, 183 #OZ90000) 184 185########################### 186# Message precedences # 187########################### 188 189Pfirst-class=0 190Pspecial-delivery=100 191Plist=-30 192Pbulk=-60 193Pjunk=-100 194 195##################### 196# Trusted users # 197##################### 198 199Troot 200Tdaemon 201Tuucp 202 203######################### 204# Format of headers # 205######################### 206 207H?P?Return-Path: $g 208HReceived: $?sfrom $s $.$?_($_) $.by $j ($v/$Z)$?r with $r$. id $i$?u for $u$.; $b 209H?D?Resent-Date: $a 210H?D?Date: $a 211H?F?Resent-From: $q 212H?F?From: $q 213H?x?Full-Name: $x 214HSubject: 215# HPosted-Date: $a 216# H?l?Received-Date: $b 217H?M?Resent-Message-Id: <$t.$i@$j> 218H?M?Message-Id: <$t.$i@$j> 219# 220###################################################################### 221###################################################################### 222##### 223##### REWRITING RULES 224##### 225###################################################################### 226###################################################################### 227 228########################################### 229### Rulset 3 -- Name Canonicalization ### 230########################################### 231S3 232 233# handle null input and list syntax (translate to <@> special case) 234R$@ $@ <@> 235R$*:;$* $@ $1 :; <@> 236 237# basic textual canonicalization -- note RFC733 heuristic here 238R$*<$*>$*<$*>$* $2$3<$4>$5 strip multiple <> <> 239R$*<$*<$+>$*>$* <$3>$5 2-level <> nesting 240R$*<>$* $@ <@> MAIL FROM:<> case 241R$*<$+>$* $2 basic RFC821/822 parsing 242 243ifdef(`_NO_CANONIFY_', `dnl', 244`# eliminate local host if present 245R@ $=w $=: $+ $@ @ $M $2 $3 @thishost ... 246R@ $+ $@ @ $1 @somewhere ... 247 248R$+ @ $=w $@ $1 @ $M ...@thishost 249R$+ @ $+ $@ $1 @ $2 ...@somewhere 250 251R$=w ! $+ $@ $2 @ $M thishost!... 252R$+ ! $+ $@ $1 ! $2 @ $M somewhere ! ... 253 254R$+ % $=w $@ $1 @ $M ...%thishost 255R$+ % $+ $@ $1 @ $2 ...%somewhere 256 257R$+ $@ $1 @ $M unadorned user') 258 259 260###################################### 261### Ruleset 0 -- Parse Address ### 262###################################### 263 264S0 265 266R$*:;<@> $#error $@ USAGE $: "list:; syntax illegal for recipient addresses" 267 268# pass everything else to a relay host 269R$* $#_RELAY_ $@ $H $: $1 270 271# 272###################################################################### 273###################################################################### 274##### 275`##### MAILER DEFINITIONS' 276##### 277###################################################################### 278###################################################################### 279undivert(7)dnl 280