#DESCRIPTION
#.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.
#
#ZCONFIG
# 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.)
#
ZCONFIG= /opt/mail/zmailer.conf
#MAILBIN
# MAILBIN is the directory hierarchy containing all ZMailer binaries.
#.PP
# Configured as: /opt/mail/bin
#
MAILBIN= /opt/mail/bin
#MAILSHARE
# MAILSHARE is the directory hierarchy containing site-wide
# configuration files and databases.
#.PP
# Configured as: /opt/mail
#
MAILSHARE= /opt/mail
#MAILVAR
# MAILVAR is the directory that will contain machine-specific
# configuration files and databases.
#.PP
# Configured as: /opt/mail
#
MAILVAR= /opt/mail
#MAILBOX
# 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
#
MAILBOX= /var/spool/mail
#POSTOFFICE
# POSTOFFICE is the directory hierarchy used to manipulate message files,
# where runtime activity takes places.
#.PP
# Configured as: /var/spool/postoffice
#
POSTOFFICE= /var/spool/postoffice
#LOGDIR
# LOGDIR is the directory where log files will appear.
#.PP
# Configured as: /var/log/mail
#
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
#INPUTDIRS
# INPUTDIRS are alternate directories to receive files
# \fBinstead\fR of standard "router" and $ROUTERDIRS set.
#
#INPUTDIRS=input:input2
#INPUTDIRHASH
# 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!)
#
#INPUTDIRHASH=1
#INPUTNOTIFY
# 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.
#
#INPUTNOTIFY=/var/spool/postoffice/.input.notify
#ROUTEROPTIONS
# 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"
#
#ROUTEROPTIONS= "-dWkn 4"
ROUTEROPTIONS= -dkWn 1
#ROUTERDIRS
# Multiple LOWER priorities on message routing can be defined by creating
# $POSTOFFICE/ -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.
#
ROUTERDIRS=router1:router2:router3:router4
#ROUTERDIRHASH
# 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!)
#
#ROUTERDIRHASH=1
#ROUTERNOTIFY
# 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.
#
ROUTERNOTIFY=/var/spool/postoffice/.router.notify
#SMTPOPTIONS
# 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.
#
#SMTPOPTIONS= "-l ${LOGDIR}/smtpserver"
SMTPOPTIONS= -s strict -h -s ve -l /var/log/mail/smtpserver
#ALLOWSOURCEROUTE
# 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!
#
#ALLOWSOURCEROUTE=
#SCHEDULEROPTIONS
# 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 ""
#
#SCHEDULEROPTIONS= "-l ${LOGDIR}/scheduler.perflog -S -H"
SCHEDULEROPTIONS= -S -H
#SCHEDULERDIRHASH
# 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" !
#
SCHEDULERDIRHASH=2
#SCHEDULERNOTIFY
# 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.
#
SCHEDULERNOTIFY=/var/spool/postoffice/.scheduler.notify
#
#.PP
# Following few ZM ``environment'' variables are used by the \fIrouter\fR(8zm)
# configuration at your site.
#
#MAILSERVER
# 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.
#
#MAILSERVER= neat.cs
#PUNTHOST
# PUNTHOST is where mail that is supposed to go to a local address, but
# no such address exists, is punted to.
#
#PUNTHOST= relay.cs
#FORCEPUNT
# 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..)
#
#FORCEPUNT= mailhost
#FORCEPUNT
# 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" )
#
#NOBODY
# 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..
#
NOBODY=nobody
#LOGLEVEL
# 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:
#
#LOGLEVEL= "file: recipient:"
LOGLEVEL= "deferred: file: header_defer:"
#NNTPSERVER>
# Builtin USENET channel uses NNTPSERVER variable (depending upon your
# inews ..) to send the artickle to..
#
NNTPSERVER= nntp
INEWSBIN= inews
#SENDMAILPATH
# Where the sendmail (compability one) shall be located ?
#
SENDMAILPATH= /usr/sbin/sendmail
#RMAILPATH
# Where is the rmail to be located at ?
#
RMAILPATH= /bin/rmail
#TA_USE_MMAP
# 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.
#
TA_USE_MMAP=0
#TALOCKMODE
# TALOCKMODE=[TFW] -- don't use!
#
#MBOXLOCKS
# 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() )
#
#MBOXLOCKS=".F:F"
#MBOXLOCKS=".L:L"
#SELFADDRESSES
# 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)
#
#SELFADDRESSES=[1.2.3.4],[2.3.4.5],[ipv6.::1.2.3.4]
SELFADDRESSES=
#DBTYPE
# What kind of DB type we prefer to use ? We can support several,
# simultaneously, after all; btree/ndbm/gdbm ...
#
DBTYPE=btree
#DBEXT
# What extension that particular DB type wants for open operations ?
#
DBEXT=.db
#DBEXTtest
# What extension that particular DB type will actually have ?
# This is used in
# .IR "file age tests" .
#
DBEXTtest=.db
#DEFCHARSET
# 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...
#
DEFCHARSET=ISO-8859-1
#RFC822TABS
# 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.
#
RFC822TABS=1
#NORECEIVEDFORCLAUSE
# Existence NORECEIVEDFORCLAUSE ZENV variable forbids the transport
# agents from adding '(ORCPT <...> ...)' or 'for <...> ' clauses
# to the top-most "Received:" header.
#
#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
#SYSLOGFLG
# 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
#
#SYSLOGFLG=SRT
SYSLOGFLG=RT
#TRUSTEDUSER
# 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.
#
#TRUSTEDUSER=daemon
#ORGDOMAIN
# Use ORGDOMAIN in ZENV if the system can't generate
# MIME multipart boundary string contained host/domain ids
# automagically...
#
#ORGDOMAIN=my.local.domain
#ROUTEUSER_IN_ABNORMAL_UNIX
# 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...)
#
ROUTEUSER_IN_ABNORMAL_UNIX="z"
#LISTSERV
# Some sites (well, one FUNET site), has LISTSERV, this is for
# configuring that subpart of the aliases.cf scripts:
#
#LISTSERV=/v/net/listserv.funet.fi
#BINDADDR
# 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
#
#BINDADDR=iface:eth0:1
BINDADDR=
#SNMPSHAREDFILE
# 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.
#
SNMPSHAREDFILE=/var/spool/postoffice/.zmailer.SNMP.block
#DOMAIN_AWARE_GETPWNAM
# 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.
#
DOMAIN_AWARE_GETPWNAM=