Skip to content

indimail env.7

Manvendra Bhangui edited this page Feb 25, 2024 · 1 revision

NAME

indimail-environ - indimail-mta environment variables

DESCRIPTION

ACCESSLIST
Override /etc/indimail/control/accesslist. Used by qmail-smtpd(8).

ASSIGNDIR
Override /etc/indimail/users/assign. Used by qmail-lspawn(8), qmail-newu(8), qmail-smtpd(8).

AUTH_ALL, REQUIREAUTH
AUTH_ALL enforce authenticated SMTP if relaying. REQUIREAUTH forces authenticated SMTP for all SMTP transactions before accepting MAIL FROM.

AUTHENTICATED
Set by qmail-smtpd(8) on successful auhentication

AUTHINFO
Set by qmail-smtpd(8) to the authenticated envelope sender address

ALLOW_BARELF
If set, qmail-smtpd(8) converts bare LF into CRLF, even though such messages violate the SMTP protocol.

DISABLE_CNAME_LOOKUP
Used by qmail-remote(8) to disable cname lookups when it fails to find MX record for a host.

DISABLE_EXTRA_GREET
Used by qmail-smtpd(8) to skip additional lines in the smtpgreeting control file.

AUTHSELF
If set, qmail-lspawn(8) authenticates against local database, existence of users before delivery, rather than accepting delivery and then bouncing the mail after discovring that the account doesn't exist

AUTH_SMTP
If set, qmail-remote(8) will use authenticated SMTP with the remote host before starting delivery.

BADEXT
Override /etc/indimail/control/badext. List of extensions that are banned to be sent as attachments in emails. Used by qmail-smtpd(8)

BADEXTPATTERNS
Override /etc/indimail/control/badextpatterns. List of patterns that match extensions that are banned to be send as attachments in emails. Used by qmail-smtpd(8)

BADHELOCHECK
If set, enfoces bad helo/ehlo check in qmail-smtpd(8).

BADHOSTCHECK
Enforce badhost check which rejects connections with TCPREMOTEHOST matching entries in /etc/indimail/control/badhost. Used by qmail-smtpd(8)

BADIPCHECK
Enforce badip check which rejects connections with TCPREMOTEIP matching entries in /etc/indimail/control/badip. Used by qmail-smtpd(8).

BIGTODO
This is a boolean which enables (1) or disables (0) bigtodo. Used by qmail-clean(8), qmail-qread(8), qmail-queue(8), qmail-send(8), qmta-send(8), qscheduler(8), queue-fix(8), slowq-send(8), todo-proc(8). If BIGTODO is non-zero, these programs will use CONFSPLIT directories in the todo directory of each queue.

BODYCHECK
Override /etc/indimail/control/bodycheck control file. Used by qmail-smtpd(8)

BOUNCEMAIL
If set, qmail-smtpd(8) bounces mail with value of BOUNCEMAIL environment variable as the bounce message

BOUNCEPROCESSOR
If set, qmail-send(8) can execute an external program defined by this variable when delivery to a recipient fails.

BOUNCEQUEUE
If set, qmail-send(8) will use this instead of qmail-queue(8) to queue a bounce mail

CACHELIFETIME
Overrides control file /etc/indimail/control/cachelifetime. Allows you to override the 300 seconds default of surblfilter(8) results in /etc/indimail/control/cache directory.

CERTDIR
Used by qmail-smtpd(8), qmail-remote(8), dotls(1), tcpclient(1), tcpserver(1) to locate openssl certificates

CHECKRECIPIENT
If set, qmail-smtpd(8) checks for recipient status in local passwd(5), recipients.cdb or indimail-virtualdomain's MySQL database.

CHECKRELAY
If set, qmail-smtpd(8) will check if the user from indimail-virtual domains is successfully authenticated in the last 30 minutes and allows the user to relay mails.

CHECKSENDER
If set, qmail-smtpd(8) enforces user to authenticate when MAIL FROM domain is in rcpthosts control file. It also prevents user from forging the envelope sender address (MAIL FROM) by ensuring that the MAIL FROM is the same as the authenticated user unless the environment variable MASQUERADE is set.

RELAY_CLEAR_MINUTES
Override the default of 30 minutes within which time an indimail-virtual domain user has authenticated, relaying will be allowed.

CLIENTCA
A list of Certifying Authority (CA) certificates that are used to verify the client-presented certificates during a TLS-encrypted session. The default is /etc/indimail/certs/clientca.pem. Used by qmail-smtpd(8).

CLIENTCERT
SSL certificate that is used to authenticate with the remote server during a TLS session. The default is /etc/indimail/certs/clientcert.pem. Used by qmail-remote(8) as the certificate for negotiating a TLS session.

CLIENTCRL
Override the default /etc/indimail/certs/clientcrl.pem used by qmail-smtpd(8).

CONFSPLIT
Used by qmail-clean(8), qmail-qread(8), qmail-queue(8), qmail-rm(1), qmail-send(8), qmail-showctl(8), todo-proc(8), qmta-send(8), queue-fix(8), slowq-send(8) to set the directory split. Default is 151

CONTROLDIR
The directory to use for control files. The default is /etc/indimail/control. This is used by all indimail-mta to locate various control files. This is a powerful variable and allows indimail-mta to be configured dynamically.

SYSCONFDIR
Used by indimail-virtualdomains programs if CONTROLDIR environment variable is not an absolute path

CUGMAIL
If set, qmail-smtpd(8) allows email transaction between hosts listed in /etc/indimail/control/locals and /etc/indimail/control/virtualdomains.

DANETIMEOUT
Max time to wait for a response from indimail-mta's DANE verification daemon. Used by qmail-remote(8), tlsacheck

DANE_VERIFICATION
Turn on DANE verifiation. Used by qmail-remote(8)

DATABYTES
Max size of mail allowed to be injected in the queue or accepted from remote clients. Used by qmail-inject(8), qmail-smtpd(8), qmail-lspawn(8), qmail-rspawn(8). Overrides the /etc/indimail/control/databytes.

DATABYTES_NOTIFY
If set, qmail-smtpd(8) logs transactions denied when clients exceeed DATABYTES limit

DATA_TIMEOUT
Amount of time to wait in seconds for timing out select(2) call in inotify(1), adminclient(8), proxyimap(8), proxypop3(8).

DEATH
Amount of time in seconds to wait before dying. Used by qmail-nullqueue(8)

DEBUG
Turns on debug in ldap-checkpwd(8), qhpsi(8), qmail-remote(8), authindi(7), authpgsql(7), vchkpass(8) and other checkpassword modules. This shouldn't be set on production.

DEBUG_LOGIN
Logs logins and passwords for ldap-checkpwd(8), qhpsi(8), qmail-remote(8), authindi(7), authpgsql(7), vchkpass(8) and other checkpassword modules. This shouldn't be set on production. This is dangerous too.

DEFAULT
Used by qmail-local(8) and fastforward(1) as the default recipient address. If this is not set, $EXT@$HOST is used.

DEFAULT_DOMAIN
Used by various indimail-virtual programs and qmail-smtpd(8) when domain component is missing in addresses.

DISABLE_AUTH_LOGIN, DISABLE_AUTH_PLAIN, DISABLE_CRAM_MD5, DISABLE_CRAM_RIPEMD,

DISABLE_CRAM_SHA1, DISABLE_CRAM_SHA224, DISABLE_CRAM_SHA256, DSABLE_CRAM_SHA384,

DISABLE_CRAM_SHA512, DISABLE_DIGEST_MD5, DISABLE_SCRAM_SHA1, DISABLE_SCRAM_SHA256
If set these variables stop qmail-smtpd(8) from advertising these authentication mechanisms as response to EHLO command

DISABLE_PLUGIN
Disables loading of external plugins in qmail-smtpd(8)

DISPOSITION_HEADER
Overrides the default Disposition-Notification-To header used by qnotify(1) for sending notifications.

DKIMEXPIRE
Used by qmail-dkim(8) to set the expire time in seconds for the signature. This overrides the x option in DKIMSIGNOPTIONS.

DKIMIDENTITY
Used by qmail-dkim(8) to set the identity for the signature. This overrides the i option in DKIMSIGNOPTIONS.

DKIMKEY
When both DKIMSIGN and DKIMVERIFY are not set, this turns on DKIM signing by qmail-dkim(8), only for authenticated users and overrides the default DKIM private key /etc/indimail/control/domainkeys/default.

DKIMPRACTICE
qmail-dkim(8) turns on SSP/ADSP signing practice for messages that fail DKIM verification

SIGN_PRACTICE
*Used by *qmail-dkim(8) to set DKIM sign practice as ssp, adsp or local

DKIMSIGN
Path to DKIM private key. By default qmail-dkim(8) uses /etc/indimail/control/domainkeys/default.

DKIMSIGNOPTIONS
getopt sytle list of DKIM options used by qmail-dkim(8)

DKIMVERIFY
If set, qmail-dkim(8) performs DKIM verification for messages.

BOUNCEDOMAIN
qmail-dkim(8) uses the domain found in the Return-Path, Sender, From headers to set the domain tag. If not it uses the BOUNCEDOMAIN environment variable. BOUNCEDOMAIN can be set to an email address or a domain (without the at sign).

DNSBLLIST
Override /etc/indimail/control/dnsbllist. A list of dnsbl providers that qmail-smtpd(8) checks to identify blacklisted ip addresses.

DNSCACHEIP DNSREWRITEFILE LOCALDOMAIN
Set DNSCACHEIP to make tcpserver(1) set the DNS resolver's IP(s) dynamically irrespectively of settings in /etc/resolv.conf. The individual IPs are separated by blanks; If the environment variable LOCALDOMAIN is populated, this name will be appended to unqualified host names. Additional rewriting of local to public names is facilitated in case the file /etc/dnsrewrite exists and is populated, or alternatively, the environment variable DNSREWRITEFILE points to a different file. See djbdns(7), qualification(5) for more details.

DOMAINBINDINGS
Override control file /etc/indimail/control/domainbindings which makes qmail-remote(8) bind specific local ip addresses based on envelope sender address.

DOMAIN_MASQUERADE PARANOID
If using hostaccess feature in qmail-smtpd(8), DOMAIN_MASQUERADE allows other mails from other domains to be accepted from an IP which has been listed for another domain in the /etc/indimail/control/hostaccess control file. Settin PARANOID allows only specific domain-ip pairs listed in hostaccess control file to be accepted. Also look at the TCPPARANOID environment variable set by tcpserver(1).

HOSTACCESS
Override /etc/indimail/control/hostaccess used by qmail-smtpd(8).

DOVECOT_VERSION NATIVE_CHECKPASSWORD
If set, vchkpass(8) checkpassword module Supports dovecot's native checkpassword authentication mechanism. i.e. vchkpass(8) will run external prog on successful authentication and exit 1 if password is unacceptable. Totally opposite of what indimail's checkpassword programs do.

ENABLE_CRAM
If set, vchkpass(8) checkpassword will support the encrypted password field to be used as the password for CRAM authentication. This variable is not required if you have used -C, -m option to vpasswd(1), vmoduser(1), vadddomain(1), vmoddomain(1).

ALLOW_INACTIVE
If set, vchkpass(8) will allow authentication for inactive users

DTLINE
Used by autoresponder(1), condredirect(1), condtomaildir(1), dot-forward(1), fastforward(1), filterto(1), forward(1), maildirdeliver(1), preline(1), rrforward(1) to get the value of Delivered-To header. Set by qmail-local(8) and serialcmd(1)

ENFORCE_FQDN_HELO
Used by qmail-smtpd(8) to enforce clients to supply a fully qualified domain name in helo/ehlo command.

ENVHEADERS
Override control file /etc/indimail/control/envheaders. List of custom headers that qmail-queue(8) should pass to qmail-local(8), qmail-remote(8) in the queue.

ERROR_FD
Override the default stderr fd of 2. qmail-queue(8) clients can pass on custom error (=bounce) messages back on this file descriptor when they exit 88. Any qmail-queue(8) client have to write the error message to STDERR and exit 88 in order to use the custom message. Used by all programs that use qmail-queue(8) to queue messages. Setting ERROR_FD to -1 disables custom error message.

EXT EXT2 EXT3 EXT4
Set by qmail-local(8), serialcmd(1)

EXTRA
Used by checkpassword programs when using dovecot

EXTRAQUEUE
Override /etc/indimail/control/extraqueue. If this control file exists, each line in the content is added as a recipient to the recipient list by qmail-queue(8)

FILTERARGS
A filter program with arguments to execute. Used by qmail-multi(8), spawn-filter(8) to filter mail message through filters. The output of the filter becomes the modified / delivered message.

FORCE_TLS
If set, qmail-smtpd(8) forces TLS session with clients.

UID GID
Used by tcpserver(1) to switch to UID, GID in the child when passed -U option.

GREETDELAY
Overrides the control file /etc/indimail/control/greetdelay used by qmail-smtpd(8)

GREYIP
If set, qmail-smtpd(8) enables greylisting against qmail-greyd(8) running on the IP $GREYIP

SPAMFILTER, HAMEXITCODE, SPAMEXITCODE, SPAMIGNORE,

SPAMIGNOREPATTERNS, SPAMREDIRECT REJECTSPAM,

UNSUREEXITCODE
Used by qmail-spamfilter(8) when spam filtering is enabled by setting SPAMFILTER.

HELOHOSTBYIP
Override /etc/indimail/control/helohostbyip control file used by qmail-remote(8).

HOME
Used by condredirect(1), dot-forward(1), fastforward(1), filterto(1), forward(1), maildirserial(1), new-inject(8), process_queue(3), qmail-inject(8), qmail-qread(8), qmail-showctl(8), qmta-send(8), qnotify(1), qreceipt(1), queue-fix(8), replier(1), rrforward(1), rrt(1), to load environment variables from $HOME/.defaultqueue directory

SKIP_LOCAL_ENVIRONMENT
Used by condredirect(1), dot-forward(1), fastforward(1), filterto(1), forward(1) maildirserial(1), new-inject(8), process_queue(3), qmail-inject(8), qmail-qread(8), qmail-showctl(8), qmta-send(8), qnotify(1), qreceipt(1), queue-fix(8) replier(1), rrforward(1), rrt(1) to skip $HOME/.defaultqueue directory for environment variables.

HONOR_BODYLENGTHTAG
If set, qmail-dkim(8) honors body length tag.

HOST
Set by qmail-local(8), qmail-qfilter(1), serialcmd(1). Used by autoresponder(1), dot-forward(1), fastforward(1), qmail-inject(8), qnotify(1), srsfilter(1)

HOSTNAME
Used by qmail-queue(8) for putting hosname against TCPREMOTEIP in Received headers.

INCLUDE_TRASH
If set, maildirsize(1) and qmail-smtpd(8) ETRN will include mails in trash as part of the user's quota (size, count or size+count).

INITCMD
WAIT_INITCMD If set, svscan(8) runs an initialization command defined by this variable before startup. If WAIT_INITCMD is set, svscan(8) will wait for the command to exit.

LDAP_BASE
LDAP_BIND_DN LDAP_BIND_PASSWD LDAP_FILTER LDAP_HOST LDAP_PORT LDAP_SCOPE Used by ldap-checkpwd(8) checkpassword authentication module

LEVEL2_TLD
LEVEL3_TLD Set this to override surblfilter(8) control files level2_tld, level3_tld.

LOCAL
Set by qmail-local(8), serialcmd(1). Used by the replier(1) program

LOCALDOMAINS
If set, forces qmail-local(8) to treat only those domains in control file /etc/indimail/control/localdomains as local. This restrict local deliveries for users only from certain domains.

LOGFILTER
LOGFD LOGFILTER is used by qmail-smtpd(8) to log SMTP transactions marked as spam to a fifo created by qmail-logfilter. If this FIFO is pre-opened, it can be specified in LOGFD.

LOGHEADERS
LOGHEADERFD Override control file /etc/indimail/control/logheaders used by qmail-queue(8). If this is set or this control files exists, qmail-queue(8) will log headers matching lines in this control file with the value of the header. It will do this by writing to fd equal to LOGHEADERFD.

LOGLOCK
indimail-mta uses multiple queues with each queue being served by specific todo-proc(8), qmail-send(8), qmail-lspawn(8), qmail-rspawn(8) and qmail-clean(8) processes. The standard output and errors all go to a single fd (usually setup by supervise(8)). The output can get jumbled up. Setting this prevents log output to be written only with it is a complete line.

LOGNAME
Used by qmail-inject(8), new-inject(8)

MAIL
Used by maildir2mbox program

MAILARCHIVE
Override /etc/indimail/control/mailarchive control file used by qmail-queue(8).

MAILDIR
Used by maildir2mbox(1), mbox2maildir(1) and maildirwatch(1) programs

MAILDIRSIZE_MAX_AGE
Used by vdelivermail(8) to recalculate quota if the age for maildirsize(1) exceeds this value.

MAILDIRSIZE_MAX_SIZE
Used by vdelivermail(8) to recalcuate quota if the size for maildirsize exceeds this value. Multiple quota lines in maildirsize is collapsed to a single line containing the totals.

MAILHOST
NAME Used by new-inject(8), qmail-inject(8) and unset by sendmail(8)

MAILNAME
Used by new-inject(8), qmail-inject(8) and set by sendmail(8)

MAILTMP
Used by maildir2mbox(1).

MAILUSER
Used by new-inject(8) and qmail-inject(8)

MAKE_SEEKABLE
Used by qmail-spamfilter(8) and autoresponder(1)

MASQUERADE
If set, authenticated users will be allowed to use envelope sender different from that of the authenticated address.

MAXPERIP
Used by tcpserver(1) to limit connections from one IP.

MAX_RCPT_ERRCOUNT
Maximum invalid recipients that qmail-smtpd(8) will allow in a single SMTP transaction.

MAXRECIPIENTS
Maximum recipients that qmail-smtpd(8) will allow in a single SMTP transaction.

MAX_TOLERANCE
MIN_FREE MIN_PENALTY Used by qmail-remote(8) when delivery to remote host result in temporary errors.

MESSID
Set by qmail-lspawn(1), qmail-rspawn(1) to the message file path in the queue.

MORESMTPROUTESCDB
Override /etc/indimail/control/moresmtproutes.cdb used by qmail-remote(8)

MSGQSIZE
Set in services variables to decide POSIX message queue size limit for qscheduler.

MYSQL_LIB
Override /etc/indimail/control/mysql_lib control file used by qmail-smtpd(8), qmail-lspawn(8), qmail-respawn(8), qmail-showctl(8), maildirsize(1), qmail-sql(8), sql-database(8), ctrlenv(8).

MYSQL_TIMEOUT
Timeout for connecting to MySQL. Used by qmail-smtpd(8), qmail-sql(8), sql-database(8), ctrlenv(1).

NEWSENDER
Used by forward, rrforward(1) and set by qmail-local(8)

NODNSCHECK
If set, qmail-smtpd(8) disables if the envelope sender domain exists in dns.

NOSIGNATUREDOMAINS
Override control file /etc/indimail/nosignaturedomains used by qmail-dkim(8)

NOTLSHOSTS
override /etc/indimail/control/notlshosts used by qmail-remote(8).

NULLQUEUE
If set, qmail-nullqueue(8) gets used to drain the message without putting it in the queue. This overrides QMAILQUEUE environment variable.

ONFAILURE_REMOTE ONSUCCESS_REMOTE ONTEMPORARY_REMOTE
Used by qmail-remote(8) to execute external program / scripts after delivery or after a temporary failure.

ORIGINIPFIELD
Overrides /etc/indimail/control/originipfield used by qmail-remote(8).

OUTGOINGIP
Overrides /etc/indimail/control/outgoingip used by qmail-remote(8).

PASSWORD_COMMAND
The password command to execute by the qmail-poppass(8) daemon.

SMTP_PLUGIN SMTP_PLUGIN_SYMB
used by qmail-smtpd(8) to load smtp plugins

SOFT_MEM
Set in services variables to decide soft limit for various services

PLUGINDIR
Directory to look for plugins by qhpsi(8) and qmail-smtpd(8)

PORT_QMQP
Override the default port 628 used by qmail-qmqpc(8).

POSTAUTH
Program to execute after successful authentication by sys-checkpwd(8), vchkpass(8), ldap-checkpwd(8), pam-checkpwd(8), authindi(7), authpgsql(7)

PROTO
Set by tcpclient(1), tcpserver(1), sendmail(8), tcp-env(1)

PWD
Used by svscan(8) to get the current working directory.

QIDENT
queue identifier set by qscheduler(8). Each invocation of qmail-send(8) uses a queue with a unique identifier. e.g. QIDENT is 1 for queue1, 2 for queue2 and so on.

QHPSI QHPSIMAXSIZE QHPSIMINSIZE QHPSIRC
QHPSIRN Used by qhpsi(8)

QLOCAL, QREMOTE
Used by spawn-filter to execute alternet qmail-local(8), qmail-remote(8) binaries.

QMAILDEFAULTDOMAIN
QMAILDEFAULTHOST Used by ofmipd(8), new-inject(8) qmail-inject(8), newinclude(1).

QMAILGETPW
Used by qmail-spawn(8) to execute an alternate qmail-getpw(8).

QMAILHOST
Used by autoresponder(1), qmail-qfilter(1). Set by new-inject(8), qmail-inject(8), sendmail(8)

QMAILIDHOST
Used by ofmipd(8), new-inject(8), qmail-inject(8)

QMAILINJECT QMAILINJECT_FORCE_SRS QMAILINJECT_SKIP_SRS
Used by qmail-inject(8)

QMAILMFTFILE
Used by new-inject(8), qmail-inject(8)

QMAILNAME
Used by new-inject(8), qmail-inject(8). Unset by autoresponder(1), qmail-qfilter(1), sendmail(8)

QMAILPLUSDOMAIN
Used by ofmipd, new-inject(8), qmail-inject(8), newinclude

QMAILLOCAL
Used by qmail-lspawn(8) to execute an alternate qmail-local(8) binary.

QMAILREMOTE
Used by qmail-rspawn(8) to execute an alternate qmail-remote(8) binary.

QMAILQUEUE
Used by all qmail-queue(8) clients condredirect(1), dot-forward(1), fastforward(1), filterto(1), forward(1), maildirserial(1), new-inject(8), ofmipd, qmail-inject(8), qmail-local(8), qmail-qmqpd, qmail-qmtpd, qmail-queue(8), qmail-send(8), qmta-send(8), qnotify(1), qreceipt(1), replier(1), rrforward(1), rrt(1), slowq-send(8), smtpd, srsfilter(1)

QMAILRCPTS
Used by qmail-qfilter(1), surblfilter(8).

QMAILSHOST QMAILSUSER
Used by new-inject(8), qmail-inject(8)

QMAILUSER
used by new-inject(8), qmail-inject(8). Set by qmail-qfilter(1), sendmail(8). Unset by autoresponder(1)

QMTPCODE
Used by qmail-remote(8), rrt(1)

QMTPTEXT
Used by qmail-remote(8)

QQEH
This can be set before calling qmail-queue(8) to insert extra headers. Used by condredirect(1), condtomaildir(1), filterit(1), forward(1), maildirdeliver(1), preline(1), qmail-local(8), qmail-queue(8). If set, qmail-queue passes the value across the queue. Set by qmail-local(8), filterit(1) to set the X-Filterit header.

QREGEX
Used by qmail-smtpd(8), qmail-inject(8), spawn-filter(8), qmail-send(8), slowq-send(8), drate(1), uacl(1).

QUARANTINE
Override /etc/indimail/control/quarantine control file Used by qmail-queue(8).

QUERY_CACHE
Used by qmail-smtpd, qmail-lspawn(8), vchkpas(8) to use inlookup(8), authindi(7) password request connection pooling daemon for authentication and user and password lookups.

QUEUE_BASE QUEUE_START QUEUE_COUNT QUEUEDIR
Used by drate, qscheduler(8), qmail-qread(8), qmail-rm(1), qmail-showctl(8), qmail-tcpok(8), qmail-tcpto(8), qmail-multi(8), spawn-filter(8), condredirect(1), dot-forward(1), fastforward(1), filterto(1), forward, maildirserial, new-inject(8), qmail-inject(8), qmail-qread(8), qmail-showctl(8), qmta-send(8), qnotify(1), qreceipt(1), queue-fix(8), replier(1), rrforward(1), rrt(1) to select a queue from indimail's multi queue.

ERROR_INTERVAL
Used by qscheduler(8) when in dynamic mode. Any failure in accessing message queues, shared memory segments, opening control files qscheduler sleeps for ERROR_INTERVAL seconds before continuing.

QUEUE_LOAD
Used by qscheduler(8), qmail-send(8) and qmail-qread(8) as the threshold for maximum queue load. queue load is the average concurrencies of all the queues. When this is exceeded, qscheduler(8) creates additional queue and starts todo-proc(8), qmail-send(8) instance to reduce the average concurrency.

QUEUE_MAX
The maximun number of queues qscheduler(8) will create when QUEUE_LOAD is exceeded.

QUEUE_PLUGIN_SYMB
Used by qhpsi(8)

QUEUEPROG
Override the the queue program qmail-queue(8) executed by qmail-multi(8) to queue the mail.

RATELIMIT_DIR RATELIMIT_INTERVAL
Used by qmail-send(8), slowq-send(8)

RBLEHLO RBLGREETING RBLSMTPD
Used by rblsmtpd(1)

RECIPIENT
Used by autoresponder(1), checkaddr, checkdomain, fastforward(1), ifaddr, iftocc, iftoccfrom, qnotify(1). Set by qmail-local(8), serialcmd(1)k

REJECTVIRUS VIRUSFORWARD
Used by qmail-queue(8). Infected mails will be quarantined to the email defined by VIRUSFORWARD. This will work only if REJECTVIRUS is not equal to 1. Setting VIRUSFORWARD sets the X-Quarantine-ID containing the list of original recipient list is added.

RELAYCLIENT
Used by ofmipd(8), qmail-dkim(8), qmail-qmtpd(8), qmail-queue(8), qmail-spamfilter(8), qmail-smtpd(8). Set by sendimail(1), tcpserver(1).

RELAYCLIENT_NODKIMVERIFY
used by qmail-dkim(8)

REMOTEINFO
Used by ofmipd(8).

REMOVEHEADERS
override /etc/indimail/control/removeheaders used by qmail-queue(8).

REQPTR
If the environment variable REQPTR is set and TCPREMOTEHOST is absent, qmail-smtpd(8) rejects connections from unresolvable IP address (hosts without reverse DNS). qmail-smtpd(8) returns permanent error code 553 to the client. TCPREMOTEHOST environment variable is removed by tcpserver(1) if remote host (TCPREMOTEIP) does not have a reverse DNS record.

ROUTE_NULL_USER
If set, qmail-lspawn(8) redirects double bounces to a mailbox

QMTPROUTE SMTPROUTE
Used by qmail-remote(8), set by qmail-rspawn(8)

SMTPROUTEFILE QMTPROUTEFILE
Override /etc/indimail/control/[smtproutes,qmtproutes] control file used by qmail-remote(8).

ROUTES
Used by qmail-remote(8) If set as "smtp", qmail-rspawn(8) sets the SMTPROUTE variable for a indimail-virtualdomain user. If set as "qmtp", qmail-rspawn(8) sets the QMTPROUTE variable for a indimail-virtualdomain user.

RPLINE
Used by condtomaildir(1), dot-forward(1), maildirdeliver(1), preline(1), qnotify(1) to get the Return-Path. Set by qmail-local(8) and serialcmd(1), vacation(8).

SANITIZE_ENV
Used by qmail-local(8) to clear all environment variables other than USE_FSYNC, USE_FDATASYNC, USE_SYNCDIR. You can set additional environment variables to preserve by setting SANITIZE_ENV as a colon ':' separated list of environment variables to preserve.

SCANCMD SCANDIR
Used by qscanq-stdin(8), qhpsi(8)

SCANINTERVAL SCANLOG
Used by svscan(8)

SECURE_AUTH
Enforces TLS when doing authenticated SMTP in qmail-smtpd(8). In qmail-remote(8), authenticated SMTP gets disabled unless TLS is used.

SENDER
Used by autoresponder(1), condredirect(1), fastforward(1), filterto(1), qnotify(1), qreceipt(1), replier(1), replier-config(1), qmail-smtpd(8), srsfilter(1), qmail-remote(8), vacation(1). Set by qmail-local(8), serialcmd(1)

SERVERCERT
Overrides the default certificate /etc/indimail/certs/servercert.pem used by qmail-smtpd(8).

SERVICE_RESPONDER
Used by autoresponder(1)

SETSID
Used by svscan(8). If set, svscan(8) calls setsid(2) to make the child a session leader.

SETPGID
Used by supervise(8). If set, supervise(8) calls setpgid(2) to make the child run in its own process group.

TERMINATE_SESSION
Used by svscan(8). If set along with SETSID, svscan(8) calls kill(0, 15) to terminate all supervise(8) processes started by it.

SHUTDOWN
Path to a script / command used by svscan(8) to execute on -d option to svc(1).

SIGNATUREDOMAINS
Override /etc/indimail/control/signaturedomains control file used by qmail-dkim(8)

BATVKEY
Override /etc/indimail/control/batvkey control file used by qmail-smtpd(8), qmail-remote(8).

BATVKEYSTALE
Override /etc/indimail/control/batvkeystale control file used by qmail-smtpd(8), qmail-remote(8).

BATVNOSIGNLOCALS
Override /etc/indimail/control/batvnosinlocals control file used by qmail-smtpd(8), qmail-remote(8).

BATVNOSIGNREMOTE
Override /etc/indimail/control/batvnosinremote control file used by qmail-smtpd(8), qmail-remote(8).

SKIPDNSBL
If set, qmail-smtpd(8) skips dnsbl check

SMTPS
If set, qmail-smtpd(8) starts a tls session to support the deprecated SMTPS protocol.

SMTPUTF8
Enables RFC 5336 SMTP Email Address Internationalization support in qmail-smtpd(8) and qmail-remote(8)

SRS_DOMAIN, SRS_SECRETS, SRS_MAXAGE, SRS_HASHLENGTH, SRS_HASHMIN, SRS_ALWAYSREWRITE, SRS_SEPARATOR

These are used for configuring Sender Rewriting Scheme (SRS). Used by condredirect(1), forward(1), qmail-inject(8), qmail-local(8), qmail-send(8), qmta-send(8), slowq-send(8), qmail-smtpd(8), srsfilter(1)

START_PLUGIN START_PLUGIN_SYMB
Enables to load and execute startup plugin in qmail-send(8)

STARTTLS
If enabled, qmail-smtpd(8) advertizes STARTTLS capability in EHLO response

STRIP_DOMAIN
If enabled, sys-checkpwd(8) strips domain component from username

SURBLDOMAINWHITE
Overrides /etc/indimail/control/surbldomainwhite control file used by surblfilter(8)

SURBLRCPT
Overrides /etc/indimail/control/surblrcpt control file used by surblfilter(8)

SV_PWD
Set by svscan(8) to set the current working dirctory and used by supervise(8) to get the current working directory.

TCP6LOCALIP TCP6REMOTEIP TCPLOCALHOST TCPLOCALIP
TCPLOCALPORT

TCPREMOTEHOST TCPREMOTEINFO TCPREMOTEIP
See tcp-env(1)iron(5)

TCPPARANOID
Set by tcpserver(1) host has reverse DNS but IP does not match remoteip

TLSADOMAINS
Override /etc/indimail/control/tlsadomains used by qmail-remote(8)

TLS_CERTFILE
Used by sslerator(8).

TLS_CIPHER_LIST TLS_CIPHER_SUITE
Used by sslerator(8), qmail-smtpd(8), qmail-remote(8).

TMPDIR
Used as path for creating temporary files by autoresponder(1), qarf, qmail-dkim(8), qmail-qfilter(1), qmail-multi(8), qnotify(1), qmail-smtpd(8), spawn-filter(8)

TODO_INTERVAL
Used by todo-proc(8), slowq-send(8) and qmta-send(8)

TODO_CHUNK_SIZE
Used by todo-proc(8) to communicate to qmail-send(8) new messages in chunks instead of transmitting a message as soon as it is seen in the queue.

CHUNK_WAIT
Max number of seconds to wait for TODO_CHUNK_SIZE messages in the queue after which todo-proc(8) communicates to qmail-send(8) available messages to be scheduled for delivery.

TRY_NEXT_MX_HELO_FAIL
Used by qmail-remote(8). If set, qmail-remote(8) tries the next mx when ehlo/helo command fails with a temporary error

UFLINE
used by dot-forward(1), preline. Set by qmail-local(8)

UNSIGNED_FROM
If set, qmail-dkim(8) allows unsigned From headers in DKIM-Signature

UNSIGNED_SUBJECT
If set, qmail-dkim(8) allows unsigned Subject headers in DKIM-Signature

USE_DLMOPEN
If set, tcpserver(1) uses dlmopen(3) instead of dlopen(3) to load tcpserver(1) modules.

USE_FNMATCH
If set, qmail-smtpd(8), qmail-inject(8), spawn-filter(8) uses file pattern matching fnmatch(3) function to match addresses.

USE_FSYNC USE_SYNCDIR
Used by qmail-queue(8) to sync files after queuing.

USE_QPWGR
Use internal getpwent, getgrent, getpwnam, getgrnam, getpwuid, getgrgid, getpwent_r, getgrent_r, getservent, getservbyname, getservbyport, getservent_r, getservbyname_r, getservbyport_r functions in qmail-getpw(8), qmail-direct(8), serialcmd(1), sys-checkpwd(8), qhpsi(8), qscanq(8), cleanq(8), qmail-lspawn(8), qmail-rspawn(8), qmail-queue(8), qmta-send(8), qmail-showctl(8), qmail-start(8), qscheduler(8), slowq-start(8), queue-fix(8)

USER
Used by dot-forward(1), new-inject(8), qmail-direct(8), qmail-inject(8). Set by qmail-local(8), serialcmd(1)

USE_SETGROUPS
Used by qmail-start(8), slowq-start(8) to add supplementary groups for daemons todo-proc(8), qmail-send(8), qmail-lspawn(8), qmail-rspawn(8) and qmail-clean(8)

SETUSER_PRIVILEGES
Used by qmail-lspawn to run qmail-local with user's supplementary groups for local user in the passwd database. Without this, qmail-local is run with the primary uid, primary gid of the user.

VIRTUAL_PKG_LIB
Used by qmail-smtpd(8), qmail-lspawn(8), qmail-rspawn(8), maildirsize(1), qmail-showctl(8) to load indimail-virtualdomains library.

VIRUSCHECK
Used by qmail-smtpd(8), qmail-spamfilter(8) to execute qscanq(8) for checking if the mail is infected

ADDUSERCMD
Used by proxyimap(8), proxypop3(8) if configured to add users automatically.

TIMEOUTCONN
Timeout that adminclient(8) uses for connecting to indisrvr(8)

TIMEOUTDATA
Timeout that adminclient(8) uses for data exchange between indisrvr(8) and itself.

ALLOWCHARS
List of allowed characters in the usernames. Used by vadduser(1)

AVG_USER_QUOTA
Used by vfstab(8) as the value of average user quota in bytes.

BASE_PATH
Used by vadddomain(1), vadduser(1), vdominfo(1)

BULK_MAILDIR
The bulk mail directory. e.g. for indimail.org the bulk mail directory will be /var/indimail/indimail.org/$BULK_MAILDIR.

BULK_HOST
Environment variables to be set when the bulkmail table lies on a remote MySQL host

BULK_DATABASE
Database for the 'bulkmail' MySQL

BULK_USER
User for the 'bulkmail' MySQL

BULK_PASSWD
Password for the 'bulkmail' MySQL

BULK_VPORT
Port for the 'bulkmail' MySQL

BULK_SOCKET
Socket for the 'bulkmail' MySQL

EDITOR
Used by dbinfo(8) for editing mcdinfo (when passed the -e option)

ELIMINATE_DUPS
used by vdelivermail(8), ismaildup(1) to discard duplicate emails.

ELIMINATE_DUPS_ARGS
used by vdelivermail(8), ismaildup(1) to run a program with the mail as input on stdin. The output of this command is used for md5sum calcuation to decide if an email is to be discarded or not. If this is not defined, 822header(1) program is used.

ELIMINATE_DUPS_INT
used by vdelivermail(8), ismaildup as the interval within which same email will be discarded as duplicate

HARD_QUOTA
Used by vadduser(1) as the default quota to set for a user when adding users

HOLDOVERQUOTA
If set, vdelivermail(8) will defer mails when user runs out of quota. The command defined by OVERQUOTA_CMD environment variable will be run. However, BOUNCE_FLAG and lastdeliver table will not be updated

OVERQUOTA_CMD
Command to be run when user becomes overquota. Triggered during mail delivery or during IMAP/POP3 authentication.

MAILCOUNT_LIMIT
If set, max deliveries permitted for a user in day by vdelivermail(8)

MAILSIZE_LIMIT
If set, total size of mail delivery/day for user by vdelivermail(8)

indimail-virtualdomains environment variables

These variables are mostly used by indimail-virtualdomains. But there can overlap with indimail-mta

Environment variable |Program |Purpose
--------------------------|--------------|-------------------------------------
INFIFO |inlookup |Name of FIFO used for communicating with
|qmail-smtpd |inlookup. inlookup pools connections to
|authindi |MySQL and provides the interface between
|proxyimap |IndiMail and MySQL
|proxypop3 |
|inquerytest |
FIFODIR | |Directory specifying location of INFIFO
--------------------------|--------------|-------------------------------------
CNTRL_HOST |inlookup |Environment variables to be set when a
|qmail-rspawn |domain is extended across multiple
|qmail-lspawn |servers. These variables point to the
|vuserinfo |central database which has the
|vserverinfo |hostcntrl table. If both MASTER_HOST
| |and CNTRL_HOST are defined all updates
| |go to MASTER_HOST adn all queries go
| |to CNTRL_HOST
CNTRL_USER | |User for connecting to MySQL database
CNTRL_PASSWD | |password for connecting to MySQL
| |database
CNTRL_VPORT | |port for connecting to MySQL database
CNTRL_SOCKET | |socket for connecting to MySQL database
CNTRL_TABLE | |Table for storing user location
| |default is hostcntrl
CNTRL_DATABASE | |database on which table hostcntrl is
| |present. default is indimail
MASTER_HOST | |Host to which all writes should go to
--------------------------|--------------|-------------------------------------
MYSQL_HOST | |MySQL Host to connect for database
| |conection
MYSQL_USER | |User for connecting to MySQL database
MYSQL_PASSWD | |password for connecting to MySQL
| |database
MYSQL_VPORT | |port for connecting to MySQL database
MYSQL_SOCKET | |socket for connecting to MySQL database
MYSQL_TABLE | |Name of the default indimail
| |authentication table containing active
| |users. If not set, this defaults to
| |indimail
MYSQL_INACTIVE_TABLE | |Name of the default indimail
| |authentication table containing inactive
| |users. If not set, this defaults to
| |indibak
ENABLE_MYSQL_ESCAPE | |If set, all queries to MySQL will be
| |escaped before sending to mysqld.
MYSQL_INIT_COMMAND | |
MYSQL_READ_DEFAULT_FILE | |
MYSQL_READ_DEFAULT_GROUP | |
MYSQL_OPT_RECONNECT |any indimail |Reconnect automatically after failure
MYSQL_OPT_READ_TIMEOUT |program that |Read timeout from MySQL
MYSQL_OPT_WRITE_TIMEOUT |connects to |Write timeout writing to MySQL
MYSQL_OPT_CONNECT_TIMEOUT |MySQL |Connect timeout for MySQL
MYSQL_OPT_PROTOCOL | |Set unix domain or tcp/ip sockets
MYSQL_SET_CLIENT_IP | |Set the client ip when connecting
CLIENT_COMPRESS | |Set client compress flag
CLIENT_INTERACTIVE | |Set client interactive flag
MYSQL_OPT_SSL_CA | |Certificate Authority (CA) file path
MYSQL_OPT_SSL_CAPATH | |directory that contains trusted SSL CA
MYSQL_OPT_SSL_CERT | |client public key certificate file
MYSQL_OPT_SSL_CIPHER | |permitted cipher list for SSL encryption
MYSQL_OPT_SSL_CRL | |certificate revocation lists file
MYSQL_OPT_SSL_CRLPATH | |certificate revocation lists directory
MYSQL_OPT_SSL_ENFORCE | |Enforce SSL connection
MYSQL_OPT_SSL_VERIFY_CERT | |Enable verification of the server''s CN
MYSQL_OPT_SSL_MODE | |security state to use for the connection
| |SSL_MODE_DISABLED, SSL_MODE_PREFERRED,
| |SSL_MODE_REQUIRED, SSL_MODE_VERIFY_CA,
| |SSL_MODE_VERIFY_IDENTITY.
MYSQL_OPT_SSL_KEY | |client private key file
MYSQL_OPT_TLS_VERSION | |for opessl TLSv1, TLSv1.1, TLSv1.2
| |for yaSSL TLSv1, TLSv1.1 protocols
| |
MAX_FAIL_ATTEMPTS | |Max failers after which use delay
| |reconnect till MYSQL_RETRY_INTERVAL
| |has elapsed
MYSQL_RETRY_INTERVAL | |Interval before reconnecting
| |after a dropped or failed connection
--------------------------|--------------|--------------------------------------
MCDFILE |inlookup |Mail Control Definition file. Specifies
|dbinfo |the list of all MySQL servers
|vuserinfo |participating in a distributed setup.
|vserverinfo |
--------------------------|--------------|--------------------------------------
MIGRATEUSER | |Program to be run once (first time) when
| |the user logs in successfully
| |successful authentication).
MIGRATEFLAG | |Zero bytes file created in User's
| |Maildir to figure out if the migration
| |program defined by environment variable
| |MIGRATEUSER has been run.
--------------------------|--------------|--------------------------------------
MIN_LOGIN_INTERVAL | |Minimum time permitted between two
| |successful authentication.
| |Authentication requests made before this
| |time elapsed are rejected. To remove
| |this restriction, set this to 0.
NORELAY | |If set, insert to table 'relay'
| |after successful authentication
| |is disabled. This in effect disables
| |relaying (Roaming Users).
TCP_FILE | |File containing list of default tcprules
| |to be applied. Default is
| |/etc/indimail/tcp/tcp.smtp.
OPEN_SMTP | |File containing list of tcprules for IP
| |addresses of users who have
| |authenticated in the past
| |RELAY_CLEAR_MINUTES. Default
| |is /var/indimail/tcp/open-smtp
RELAY_CLEAR_MINUTES |clearopensmtp |No of minutes after which the
|inlookup |authentication request maintained in the
|vuserinfo |relay table is expired. This is used for
|authindi |sites using pop/imap before smtp
|vchkpass |authentication
|proxyimap |
|proxypop3 |
--------------------------|--------------|--------------------------------------
RELAY_TABLE |authindi |MySQL table name containing user
|inlookup |authentication timestamps for
|clearopensmtp |implementing POP/IMAP before SMTP.
--------------------------|--------------|--------------------------------------
AUTHENTICATED |authindi |Set by authindi when
| |authentication is successful
--------------------------|--------------|--------------------------------------

SEE ALSO

indimail(7), tcp-environ(5),

Clone this wiki locally