#<VAR><HEAD>DESCRIPTION</HEAD><DESC>
#.PP
#  ZMailer 'ZENV' Environment Variables:
#.PP
#  A config file for storing various SITE CONFIG parameters
#.PP
#  These are generic material that DO NOT DEPEND UPON COMPILERS et.al!
#.PP
#  This is generated with autoconfiguration process from  SiteConfig.in
#  file, and the configuration parameters.
#.PP
# Following paragraph appears to be outdated:
#.PP
#  The standard installation procedure \fBWILL NOT\fR overwrite
#  the destination  \fBZCONFIG\fR  file with the new one.
#  This file contains one parameter that is compiled in the binaries,
#  and is not overridable with this file, namely the  ZCONFIG  variable,
#  alias the final location of the processed result of this
#  SiteConfig file.
#</DESC></VAR>

#<VAR><NAME>ZCONFIG</NAME><DESC>
# ZCONFIG is the pathname of the configuration file specifying all
# the other host-dependent information needed by ZMailer programs.
# This file is created from the \fISiteConfig\fR file in the distribution
# (the file you are reading right now), and contains variable
# assignments in an sh-compatible format.
#.PP
# Several top-level components of ZMailer do have runtime options
# to choose some other path, than compiled-in default for this
# (/opt/mail/zmailer.conf).
#.PP
# Some programs (notably '\fIsendmail\fR(8zm)', and transport agents)
# do check for standard UNIX environment variables for overrider of
# this value.)
#</DESC></VAR>
ZCONFIG=	/opt/mail/zmailer.conf

#<VAR><NAME>MAILBIN</NAME><DESC>
# MAILBIN is the directory hierarchy containing all ZMailer binaries.
#.PP
# Configured as: /opt/mail/bin
#</DESC></VAR>
MAILBIN=	/opt/mail/bin

#<VAR><NAME>MAILSHARE</NAME><DESC>
# MAILSHARE is the directory hierarchy containing site-wide
# configuration files and databases.
#.PP
# Configured as: /opt/mail
#</DESC></VAR>
MAILSHARE=	/opt/mail

#<VAR><NAME>MAILVAR</NAME><DESC>
# MAILVAR is the directory that will contain machine-specific
# configuration files and databases.
#.PP
# Configured as: /opt/mail
#</DESC></VAR>
MAILVAR=	/opt/mail

#<VAR><NAME>MAILBOX</NAME><DESC>
# MAILBOX is the directory containing all the user mailboxes.
# This is defaulted inside the \fImailbox\fR(8zm) program
# and may be overridden here.
#.PP
# Configured as: /var/spool/mail
#</DESC></VAR>
MAILBOX=	/var/spool/mail

#<VAR><NAME>POSTOFFICE</NAME><DESC>
# POSTOFFICE is the directory hierarchy used to manipulate message files,
# where runtime activity takes places.
#.PP
# Configured as: /var/spool/postoffice
#</DESC></VAR>
POSTOFFICE=	/var/spool/postoffice


#<VAR><NAME>LOGDIR</NAME><DESC>
# LOGDIR is the directory where log files will appear.
#.PP
# Configured as: /var/log/mail
#</DESC></VAR>
LOGDIR=		/var/log/mail

# prefix per autoconfig:
prefix=		/opt/mail

## MANDIR is the top of the manual directory hierarchy where
## manual pages for the ZMailer programs are installed.
## Usually /usr/man or /local/man.
#MANDIR=	${prefix}/man

# LIBRARYDIR is the place for storing  libzmailer.a, which can be
# used to create programs which use Zmailer's  zmailer(3)
# (aka: mail(3)) -library.
LIBRARYDIR=	${exec_prefix}/lib

# INCLUDEDIR is the place for storing   zmailer.h -- a copy of
# include/mail.h and it is used in conjunction with the  libzmailer.a ..
INCLUDEDIR=	${prefix}/include


#<VAR><NAME>INPUTDIRS</NAME><DESC>
# INPUTDIRS  are alternate directories to receive files
# \fBinstead\fR of standard "router" and $ROUTERDIRS set.
#</DESC></VAR>
#INPUTDIRS=input:input2

#<VAR><NAME>INPUTDIRHASH</NAME><DESC>
# When defined, INPUTDIRHASH submits messages immediately into the
# 'A' thru 'Z' subdirectory of whatever directory (e.g. see INPUTDIRS).
# IF NO SUCH "hash subdirs" EXIST, MESSAGE SUBMISSION WILL FAIL!
# (The value must be "1" for this to take effect!)
#</DESC></VAR>
#INPUTDIRHASH=1

#<VAR><NAME>INPUTNOTIFY</NAME><DESC>
# The INPUTNOTIFY defines, where is a socket at which some
# pre-router queue processor listens for PF_UNIX/SOCK_DGRAM
# messages telling paths to new jobs.
#.PP
# The injection library informs the router queuing subsystem
# of new jobs, and does it with same message as  ROUTERNOTIFY=  uses.
#</DESC></VAR>
#INPUTNOTIFY=/var/spool/postoffice/.input.notify



#<VAR><NAME>ROUTEROPTIONS</NAME><DESC>
# ROUTEROPTIONS are command line options given to the \fIrouter\fR(8zm)
# when started from the \fIzmailer\fR(1zm) shell script.
#.PP
# The default values are "-dWkn 4"
#</DESC></VAR>
#ROUTEROPTIONS= "-dWkn 4"
ROUTEROPTIONS= -dkWn 1

#<VAR><NAME>ROUTERDIRS</NAME><DESC>
# Multiple LOWER priorities on message routing can be defined by creating
# $POSTOFFICE/<component-of-$ROUTERDIRS> -directories.
# Routers process first   $POSTOFFICE/router/ -directory, and once it is
# empty, files from subsequent dirs.   See  mail(3)  mail_priority
# These can be only under the $POSTOFFICE.
#</DESC></VAR>
ROUTERDIRS=router1:router2:router3:router4

#<VAR><NAME>ROUTERDIRHASH</NAME><DESC>
# When defined, ROUTERDIRHASH submits messages immediately into the
# 'A' thru 'Z' subdirectory of whatever directory (e.g. see ROUTERDIRS).
# IF NO SUCH "hash subdirs" EXIST, MESSAGE SUBMISSION WILL FAIL!
# (The value must be "1" for this to take effect!)
#</DESC></VAR>
#ROUTERDIRHASH=1

#<VAR><NAME>ROUTERNOTIFY</NAME><DESC>
# The ROUTERNOTIFY defines, where is a socket at which the router
# listens for PF_UNIX/SOCK_DGRAM messages telling paths to new jobs.
# The injection library informs the router queuing subsystem of new jobs.
#</DESC></VAR>
ROUTERNOTIFY=/var/spool/postoffice/.router.notify

#<VAR><NAME>SMTPOPTIONS</NAME><DESC>
# SMTPOPTIONS are command line options given to the smtpserver when started
# from the zmailer shell script.  The intent is that if you want non-default
# address verification options they can be specified here.  The default
# value is "-sve".   This is also used, when invoking  ``sendmail'' with
# "-bs" option.
#</DESC></VAR>
#SMTPOPTIONS= "-l ${LOGDIR}/smtpserver"
SMTPOPTIONS=	-s strict -h -s ve -l /var/log/mail/smtpserver

#<VAR><NAME>ALLOWSOURCEROUTE</NAME><DESC>
# VALID ANYMORE ???
# ALLOWSOURCEROUTE (when present) stops the system from ignoring
# the old RFC821/822 source routes of type:  @a,@b:c@d;  By "ignoring"
# we mean here that system chops away "@a,@b:" and uses only:  c@d
# This is done at all input portals; smtpserver, and at sendmail/rmail.
# System behaviour is prone to problems in case this is ever enabled!
#</DESC></VAR>
#ALLOWSOURCEROUTE=

#<VAR><NAME>SCHEDULEROPTIONS</NAME><DESC>
# SCHEDULEROPTIONS are command line options given to the scheduler when
# started from the zmailer shell script.  The intent is that if you want
# non-default logging options, the can be specified here.  The default
# value is ""
#</DESC></VAR>
#SCHEDULEROPTIONS=	"-l ${LOGDIR}/scheduler.perflog -S -H"
SCHEDULEROPTIONS= -S -H

#<VAR><NAME>SCHEDULERDIRHASH</NAME><DESC>
# The SCHEDULERDIRHASH is magic thing to tell to the router that it
# should move resulting files directly into hash subdir(s) of the
# scheduler subsystem, and not only to the main-level.
# Existence of this variable also overrides -H option(s) to
# the scheduler.  Value is the number of -H options.
# If these hash subdirectories don't exist, system failure happens!
# SYSTEMS WITH LOW LOADS CAN DO WITH VALUE "1", WHILE
# SYSTEMS WITH LARGE QUEUES SHOULD DEFINITELY USE VALUE "2" !
#</DESC></VAR>
SCHEDULERDIRHASH=2

#<VAR><NAME>SCHEDULERNOTIFY</NAME><DESC>
# The SCHEDULERNOTIFY defines, where is a socket at which the scheduler
# listens for PF_UNIX/SOCK_DGRAM messages telling paths to new jobs.
# The router(s) inform the scheduler of new jobs.
#</DESC></VAR>
SCHEDULERNOTIFY=/var/spool/postoffice/.scheduler.notify


#<VAR><DESC>
#.PP
# Following few ZM ``environment'' variables are used by the \fIrouter\fR(8zm)
# configuration at your site.
#</DESC></VAR>

#<VAR><NAME>MAILSERVER</NAME><DESC>
# MAILSERVER is the hostname of the remote machine where the postoffice is
# located.  This value is only needed in an environment with distributed file
# systems, and if it exists will be used by the mail queue querying program
# as the default name of the host to query.  It is a way of overriding the
# algorithm used by mailq in an NFS environment, or when you are running a
# different kind of DFS.  Usually undefined or a hostname.
#</DESC></VAR>
#MAILSERVER=	neat.cs

#<VAR><NAME>PUNTHOST</NAME><DESC>
# PUNTHOST is where mail that is supposed to go to a local address, but
# no such address exists, is punted to.
#</DESC></VAR>
#PUNTHOST=	relay.cs

#<VAR><NAME>FORCEPUNT</NAME><DESC>
# FORCEPUNT is for cases when the local machine under no circumstances
# is to store any email locally, but send all such to this given address
# (local host is a member on a "cluster" whose message store is at some
#  other cluster server, and said node handles "local" delivery for all
#  cluster members... *including* running pipes..)
#</DESC></VAR>
#FORCEPUNT=    mailhost

#<VAR><NAME>FORCEPUNT</NAME><DESC>
# SMARTHOST is where mail that cannot be resolved or routed is punted to.
#.PP
# There used to be a variable for this, now a better way is to use 'routes'
# database at which you put line:   .  smtp!smart.host.name
# (That is: dot, white-space(s), "smtp!smart.host.name" )
#</DESC></VAR>

#<VAR><NAME>NOBODY</NAME><DESC>
# NOBODY is the unprivileged UID value.
#.PP
# This is absolutely necessary if setuid() will fail on your "nobody" account
# uid (if it is -2, for example).  Make sure that whatever value you give
# here will work with setuid().  Values between 1 and 29999 will usually work.
# BE CAREFULL WITH THIS!  THE SYSTEM RELIES ON IT VERY MUCH IN DEED!
#.PP
#  (On SunOS 4.1.x, the value of "-2" works the best,  on Solaris the default
#   for nobody is 60001!  If your system has "nobody" "account", use here the
#   name instead of number -- it should (usually) work)
#.PP
# -- Use a mapping via /etc/passwd, this is most generic..
#</DESC></VAR>
NOBODY=nobody

#<VAR><NAME>LOGLEVEL</NAME><DESC>
# LOGLEVEL may be set to restrict the log output of the router to entries
# whose tags are found in the specified string value.  The currently known
# tags are:
#.PP
#	address: deferred: file: header_defer: info: recipient:
#</DESC></VAR>
#LOGLEVEL=	"file: recipient:"
LOGLEVEL=	"deferred: file: header_defer:"

#<VAR><NAME>NNTPSERVER></NAME><DESC>
# Builtin USENET channel uses  NNTPSERVER variable (depending upon your
# inews ..) to send the artickle to..
#</DESC></VAR>
NNTPSERVER=	nntp
INEWSBIN=	inews

#<VAR><NAME>SENDMAILPATH</NAME><DESC>
# Where the sendmail (compability one) shall be located ?
#</DESC></VAR>
SENDMAILPATH=	/usr/sbin/sendmail

#<VAR><NAME>RMAILPATH</NAME><DESC>
# Where is the rmail to be located at ?
#</DESC></VAR>
RMAILPATH=	/bin/rmail

#<VAR><NAME>TA_USE_MMAP</NAME><DESC>
# TA_USE_MMAP - value "1" in this variable  mmap()s control-,
# and message body files into transport agent process memories.
# This may, or may not give performance boost.
#.PP
# This has no effect, if the system does not have functional
# \fImmap\fR(2) system call.
#</DESC></VAR>
TA_USE_MMAP=0

#<VAR><NAME>TALOCKMODE</NAME><DESC>
# TALOCKMODE=[TFW] -- don't use!
#</DESC></VAR>

#<VAR><NAME>MBOXLOCKS</NAME><DESC>
# MAILBOX locking scheme -- no configuration option (yet)
# See man-page of  \fImailbox\fR(8zm) for details;
# the order of key-chars is meaningfull:
#.IP `.'
#	Dotlock scheme for mailboxes at $MAILBOX/ directory
#.IP `F'
#	flock() locking of files (and perhaps mailboxes)
#.IP `L'
#	lockf() locking of files (and perhaps mailboxes)
#.IP `:'
#	Separates the two parts of the parameter; left part
#	is for the mailbox locking, and right part is for
#	all other kinds of files.
#.PP
# We use compiled-in defaults at the mailbox program!
# Following examples are for  flock(), and lockf() systems with their
# respective defaults.  ( Systems capable to use both will use lockf() )
#</DESC></VAR>
#MBOXLOCKS=".F:F"
#MBOXLOCKS=".L:L"

#<VAR><NAME>SELFADDRESSES</NAME><DESC>
# The SELFADDRESSES is a comma separated list of IP address literals
# listing all of our acceptable IP addresses (Comma because IPv6 uses
# colon for short-hand notation..):
#.PP
# For usual (IPv4) universe, no addresses are needed listing, however
# for IPv6 it may be necessary - likewise if you want to use cluster-mode,
# you may want to list all *cluster* addresses here - nodes know only
# their local ones, after all.. (See: doc/guides/etrn-cluster)
#</DESC></VAR>
#SELFADDRESSES=[1.2.3.4],[2.3.4.5],[ipv6.::1.2.3.4]
SELFADDRESSES=

#<VAR><NAME>DBTYPE</NAME><DESC>
# What kind of DB type we prefer to use ?  We can support several,
# simultaneously, after all; btree/ndbm/gdbm ...
#</DESC></VAR>
DBTYPE=btree
#<VAR><NAME>DBEXT</NAME><DESC>
# What extension that particular DB type wants for open operations ?
#</DESC></VAR>
DBEXT=.db
#<VAR><NAME>DBEXTtest</NAME><DESC>
# What extension that particular DB type will actually have ?
# This is used in
# .IR "file age tests" .
#</DESC></VAR>
DBEXTtest=.db

#<VAR><NAME>DEFCHARSET</NAME><DESC>
# The characterset to be used as a default when turning 8-bit containing
# headers to MIME-2 headers -- and what to say at the default generated
# "Content-Type: text/plain; charset=XXXX" -header in case the original
# message was not of MIME, and still had 8-bit chars...
#</DESC></VAR>
DEFCHARSET=ISO-8859-1

#<VAR><NAME>RFC822TABS</NAME><DESC>
# We want those nice tabs between the header field name and value
# The task of generating TABs or SPACEs is at TA *writeheaders().
# Value '0' here yields expansion of possibly existing header resident
# line-start TABs.  There is no mechanism to turn line-start SPACEs
# to TABs with any other value stored here.
#</DESC></VAR>
RFC822TABS=1

#<VAR><NAME>NORECEIVEDFORCLAUSE</NAME><DESC>
# Existence NORECEIVEDFORCLAUSE ZENV variable forbids the transport
# agents from adding '(ORCPT <...> ...)' or  'for <...> ' clauses
# to the top-most "Received:" header.
#</DESC></VAR>
#NORECEIVEDFORCLAUSE=1

# If the following limitations are exceeded then zmailcheck
# will sent an alert.
# Limit on the Router Queue
MAX_NR=1000
# Limit on Transport Queue
MAX_NT=1000
# Load times 100
MAX_LOAD=300

#<VAR><NAME>SYSLOGFLG</NAME><DESC>
# SYSLOGFLG tells which systems use syslog to log things:
# Set of chars which are as follows:
# .IP S
#     smtpserver and /usr/sbin/sendmail
# .IP R
#     router
# .IP T
#     transport agents
# .IP C
#     scheduler completion of a message
#</DESC></VAR>
#SYSLOGFLG=SRT
SYSLOGFLG=RT

#<VAR><NAME>TRUSTEDUSER</NAME><DESC>
# Per default,  ZMailer uses ``daemon'' userid when it wants to
# operate in  ``runastrusteduser()''  mode.  Finding that userid
# (or rather its numeric uid) can be a bit difficult, and if it
# *fails*, apparently uid 65535 will be used.
#</DESC></VAR>
#TRUSTEDUSER=daemon


#<VAR><NAME>ORGDOMAIN</NAME><DESC>
# Use  ORGDOMAIN  in ZENV if the system can't generate
# MIME multipart boundary string contained host/domain ids
# automagically...
#</DESC></VAR>
#ORGDOMAIN=my.local.domain

#<VAR><NAME>ROUTEUSER_IN_ABNORMAL_UNIX</NAME><DESC>
# Depending, are you running strange private customer account
# databases hooked (only) into 'mailbox', or not, make sure
# following is non-empty if you *are* using private databases,
# as then ZMailer's router won't claim wronly userid to be
# nonexistent.. These shunted tests look for HOMEDIRECTORY,
# which might be nonexistent thing at such funny systems...
# An EMPTY string means "this is NORMAL unix":
#.PP
# (A "bug" is that this isn't automatically substituted, but
#  non-void content gives behaviour that has been around for
#  quite a while...)
#</DESC></VAR>
ROUTEUSER_IN_ABNORMAL_UNIX="z"

#<VAR><NAME>LISTSERV</NAME><DESC>
# Some sites (well, one FUNET site), has LISTSERV, this is for
# configuring that subpart of the  aliases.cf  scripts:
#</DESC></VAR>
#LISTSERV=/v/net/listserv.funet.fi

#<VAR><NAME>BINDADDR</NAME><DESC>
# If defined, BINDADDR specifies to which local interface to bind
# smtpserver, smtp transport agent and scheduler
# Possible specification formats are:
# .PP
# .nf
# \fC   [0.0.0.0]\fR
# \fC   [IPv6.0::0]\fR
# \fC   iface:eth0:1\fR
# .fi
#</DESC></VAR>
#BINDADDR=iface:eth0:1
BINDADDR=

#<VAR><NAME>SNMPSHAREDFILE</NAME><DESC>
# SNMP-like global system instance monitoring datablock path:
# This _file_ has absolute path (bo substitutions are allowed),
# it is shared in between all principal subsystem components
# in mmap(MAP_SHARED, MAP_READ|MAP_WRITE) mode. Counters in
# this file are NEVER reset.  Gauges are managed as shadows
# of subsystem internal state.
#</DESC></VAR>
SNMPSHAREDFILE=/var/spool/postoffice/.zmailer.SNMP.block

#<VAR><NAME>DOMAIN_AWARE_GETPWNAM</NAME><DESC>
# Define this to "1" if you use (replacement) getpwnam()
# that handles username together with domain.           
# This is a convenient way to support virtual domains: users
# in different domains automatically have different userids,
# different homes etc.  Actually, this often can be arranged
# even within standard /etc/passwd model, at least on Linux.
#</DESC></VAR>
DOMAIN_AWARE_GETPWNAM=
