📄 proto.m4
字号:
divert(-1)## Copyright (c) 1983 Eric P. Allman# Copyright (c) 1988, 1993# The Regents of the University of California. All rights reserved.## Redistribution and use in source and binary forms, with or without# modification, are permitted provided that the following conditions# are met:# 1. Redistributions of source code must retain the above copyright# notice, this list of conditions and the following disclaimer.# 2. Redistributions in binary form must reproduce the above copyright# notice, this list of conditions and the following disclaimer in the# documentation and/or other materials provided with the distribution.# 3. All advertising materials mentioning features or use of this software# must display the following acknowledgement:# This product includes software developed by the University of# California, Berkeley and its contributors.# 4. Neither the name of the University nor the names of its contributors# may be used to endorse or promote products derived from this software# without specific prior written permission.## THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF# SUCH DAMAGE.#divert(0)VERSIONID(`@(#)proto.m4 8.45 (Berkeley) 3/4/94')MAILER(local)dnlifdef(`_OLD_SENDMAIL_',`define(`_SET_95_', 5)dnldefine(`_SET_96_', 6)dnldefine(`_SET_97_', 7)dnldefine(`_SET_98_', 8)dnldefine(`confDOMAIN_NAME', `ifdef(`NEED_DOMAIN', `$w.$d', `$w')')dnl',`# level 5 config file formatV5define(`_SET_95_', 95)dnldefine(`_SET_96_', 96)dnldefine(`_SET_97_', 97)dnldefine(`_SET_98_', 98)dnl')ifdef(`confSMTP_MAILER',, `define(`confSMTP_MAILER', `smtp')')dnlifdef(`confLOCAL_MAILER',, `define(`confLOCAL_MAILER', `local')')dnlifdef(`confRELAY_MAILER',, `define(`confRELAY_MAILER', `ifdef(`_MAILER_smtp_', `relay', `ifdef(`_MAILER_uucp', `suucp', `unknown')')')')dnldefine(`_SMTP_', `confSMTP_MAILER')dnl for readability onlydefine(`_LOCAL_', `confLOCAL_MAILER')dnl for readability onlydefine(`_RELAY_', `confRELAY_MAILER')dnl for readability only################### local info ###################Cwlocalhostifdef(`USE_CW_FILE',`# file containing names of hosts for which we receive emailFw`'confCW_FILE', `dnl')ifdef(`confDOMAIN_NAME', `# my official domain nameDj`'confDOMAIN_NAME', `dnl')ifdef(`_NULL_CLIENT_ONLY_',`include(../m4/nullrelay.m4)m4exit', `dnl')CP.ifdef(`UUCP_RELAY',`# UUCP relay hostDY`'UUCP_RELAYCPUUCP')dnlifdef(`BITNET_RELAY',`# BITNET relay hostDB`'BITNET_RELAYCPBITNET')dnlifdef(`FAX_RELAY',`# FAX relay hostDF`'FAX_RELAYCPFAX')dnl# "Smart" relay host (may be null)DS`'ifdef(`SMART_HOST', SMART_HOST)ifdef(`MAILER_TABLE',`# Mailer table (overriding domains)Kmailertable MAILER_TABLE')dnlifdef(`DOMAIN_TABLE',`# Domain table (adding domains)Kdomaintable DOMAIN_TABLE')dnl# who I send unqualified names to (null means deliver locally)DR`'ifdef(`LOCAL_RELAY', LOCAL_RELAY)# who gets all local email traffic ($R has precedence for unqualified names)DH`'ifdef(`MAIL_HUB', MAIL_HUB)# who I masquerade as (null for no masquerading)DM`'ifdef(`MASQUERADE_NAME', MASQUERADE_NAME)# class L: names that should be delivered locally, even if we have a relay# class E: names that should be exposed as from this host, even if we masquerade#CLrootCErootundivert(5)dnl# operators that cannot be in local usernames (i.e., network indicators)CO @ % ifdef(`_NO_UUCP_', `', `!')# a class with just dot (for identifying canonical names)C..ifdef(`_OLD_SENDMAIL_', `dnl',`# dequoting mapKdequote dequote')undivert(6)dnl####################### Special macros ######################## SMTP initial login messageDe`'confSMTP_LOGIN_MSG# UNIX initial From header formatDl`'confFROM_LINE# my name for error messagesDn`'confMAILER_NAME# delimiter (operator) charactersDo`'confOPERATORS# format of a total nameDq`'ifdef(`confFROM_HEADER', confFROM_HEADER, ifdef(`_OLD_SENDMAIL_', `$g$?x ($x)$.', `$?x$x <$g>$|$g$.'))include(`../m4/version.m4')################ Options ################# strip message body to 7 bits on input?O7`'confSEVEN_BIT_INPUT# wait (in minutes) for alias file rebuildOa`'confALIAS_WAIT# location of alias fileOA`'ifdef(`ALIAS_FILE', `ALIAS_FILE', /etc/aliases)# minimum number of free blocks on filesystemOb`'confMIN_FREE_BLOCKS# substitution for space (blank) charactersOB`'confBLANK_SUB# avoid connecting to "expensive" mailers on initial submission?Oc`'confCON_EXPENSIVE# checkpoint queue runs after every N successful deliveriesOC`'confCHECKPOINT_INTERVAL# default delivery modeOd`'confDELIVERY_MODE# automatically rebuild the alias database?OD`'confAUTO_REBUILD# error message header/fileifdef(`confERROR_MESSAGE', OE`'confERROR_MESSAGE, #OE/etc/sendmail.oE)# error modeifdef(`confERROR_MODE', Oe`'confERROR_MODE, #Oep)# save Unix-style "From_" lines at top of header?Of`'confSAVE_FROM_LINES# temporary file modeOF`'confTEMP_FILE_MODE# match recipients against GECOS field?OG`'confMATCH_GECOS# default GIDOg`'confDEF_GROUP_ID# maximum hop countOh`'confMAX_HOP# location of help fileOH`'ifdef(`HELP_FILE', HELP_FILE, /usr/lib/sendmail.hf)# ignore dots as terminators in incoming messages?Oi`'confIGNORE_DOTS# Insist that the BIND name server be running to resolve namesifdef(`confBIND_OPTS', OI`'confBIND_OPTS, #OI)# deliver MIME-encapsulated error messages?Oj`'confMIME_FORMAT_ERRORS# Forward file search pathifdef(`confFORWARD_PATH', OJ`'confFORWARD_PATH, #OJ/var/forward/$u:$z/.forward.$w:$z/.forward)# open connection cache sizeOk`'confMCI_CACHE_SIZE# open connection cache timeoutOK`'confMCI_CACHE_TIMEOUT# use Errors-To: header?Ol`'confUSE_ERRORS_TO# log levelOL`'confLOG_LEVEL# send to me too, even in an alias expansion?Om`'confME_TOO# verify RHS in newaliases?On`'confCHECK_ALIASES# default messages to old style headers if no special punctuation?Oo`'confOLD_STYLE_HEADERS# SMTP daemon optionsifdef(`confDAEMON_OPTIONS', OO`'confDAEMON_OPTIONS, #OOPort=esmtp)# privacy flagsOp`'confPRIVACY_FLAGS# who (if anyone) should get extra copies of error messagesifdef(`confCOPY_ERRORS_TO', OP`'confCOPY_ERRORS_TO, #OPPostmaster)# slope of queue-only functionifdef(`confQUEUE_FACTOR', Oq`'confQUEUE_FACTOR, #Oq600000)# queue directoryOQ`'ifdef(`QUEUE_DIR', QUEUE_DIR, /var/spool/mqueue)# read timeout -- now OK per RFC 1123 section 5.3.2ifdef(`confREAD_TIMEOUT', Or`'confREAD_TIMEOUT, #Ordatablock=10m)# queue up everything before forking?Os`'confSAFE_QUEUE# status fileOS`'ifdef(`STATUS_FILE', STATUS_FILE, /etc/sendmail.st)# default message timeout intervalOT`'confMESSAGE_TIMEOUT# time zone handling:# if undefined, use system default# if defined but null, use TZ envariable passed in# if defined and non-null, use that infoifelse(confTIME_ZONE, `USE_SYSTEM', `#Ot', confTIME_ZONE, `USE_TZ', `Ot', `Ot`'confTIME_ZONE')# default UIDOu`'confDEF_USER_ID# list of locations of user database file (null means no lookup)OU`'ifdef(`confUSERDB_SPEC', `confUSERDB_SPEC')# fallback MX hostifdef(`confFALLBACK_MX', OV`'confFALLBACK_MX, #OVfall.back.host.net)# if we are the best MX host for a site, try it directly instead of config errOw`'confTRY_NULL_MX_LIST# load average at which we just queue messagesOx`'confQUEUE_LA# load average at which we refuse connectionsOX`'confREFUSE_LA# work recipient factorifdef(`confWORK_RECIPIENT_FACTOR', Oy`'confWORK_RECIPIENT_FACTOR, #Oy30000)# deliver each queued job in a separate process?OY`'confSEPARATE_PROC# work class factorifdef(`confWORK_CLASS_FACTOR', Oz`'confWORK_CLASS_FACTOR, #Oz1800)# work time factorifdef(`confWORK_TIME_FACTOR', OZ`'confWORK_TIME_FACTOR, #OZ90000)############################ Message precedences ############################Pfirst-class=0Pspecial-delivery=100
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -