⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 proto.m4

📁 早期freebsd实现
💻 M4
📖 第 1 页 / 共 2 页
字号:
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 + -