delivery-queue(8gx)

Name
delivery-queue — LMTP/SMTP frontend for local delivery

Synopsis
delivery-queue [-c config]

Description
delivery-queue is an additional mail queue in front of delivery(8gx). It may be removed in a future version.

Options

-c config
    Read configuration directives from the given file. If this option is not specified, /etc/gromox/gromox.cfg and /etc/gromox/smtp.cfg will be read.

-?  Display option summary.

All time-based command-line options and configuration file directives are subject to the syntax described in gromox(7), section "Duration specifications".

Configuration directives (gromox.cfg)
The following directives are recognized when reading from /etc/gromox/gromox.cfg, or when the -c option is used to specify a custom file:

daemons_fd_limit
    In gromox-delivery-queue, this is treated as an alias for lda_fd_limit.

lda_fd_limit
    Request that the file descriptor table be at least this large. The magic value 0 indicates that the system default hard limit (rlim_max, cf. setrlimit(2)) should be used.
    Default: 0

lda_listen
    A space-separated list of bind address specifiers to expose standard SMTP/LMTP (unencrypted and/or explicit STARTTLS) on.
    Default: [::]:25

lda_listen_tls
    A space-separated list of bind address specifiers to expose implicit-TLS SMTP (SMTPS)/LMTP on. (Port 465 is the recommendation from RFC 8314.)
    Default: [::]:465

lda_recipient_delimiter
    The set of characters that separate an email address into localpart and extension. This mirrors the "recipient_delimiter" directive from postconf(5).
    Default: (empty)

lda_support_haproxy
    This directive sets the expectation for incoming connections to carry haproxy's "PROXY" protocol extension version 2 (2), or no such header (0). When a (reverse) proxy is placed in front of gromox-delivery-queue, the address that gxdq normally sees is the proxy address (e.g. ::1). A proxy can use this protocol extension to convey the actual client address, and gximap can pick this up for its own reporting, which in turn is useful for e.g. fail2ban setups.
    Default: 0

Configuration directives (smtp.cfg)
The following directives are recognized when reading from /etc/gromox/smtp.cfg, or when the -c option is used to specify a custom file:

command_protocol
    Selects what kind of hello command is accepted of clients. Can be lmtp, smtp or both.
    Default: both

config_file_path
    Colon-separated list of directories which will be scanned when locating further configuration files, especially those used by subcomponent instances. (For example, mysql_adaptor(4gx) would be directed to look at /etc/gromox/smtp/mysql_adaptor.cfg before /etc/gromox/mysql_adaptor.cfg.)
    Default: /etc/gromox/smtp:/etc/gromox

context_average_mem
    Default: 256K

context_max_mem
    Default: 2M

context_num
    Default: 200

data_file_path
    Colon-separated list of directories which will be scanned when locating data files.
    Default: /usr/share/gromox/smtp

host_id
    A unique identifier for this system. It is used for greeting lines emitted by delivery-queue on the network.
    Default: (system hostname)

lda_listen_addr
    Deprecated in favor of gromox.cfg:lda_listen / gromox.cfg:lda_listen_tls.

lda_listen_port
    Deprecated in favor of gromox.cfg:lda_listen.

lda_listen_tls_port
    Deprecated in favor of gromox.cfg:lda_listen_tls.

lda_log_file
    Target for log messages here. Special values: "-" (stderr/syslog depending on parent PID) or "syslog" are recognized.
    Default: - (auto)

lda_log_level
    Maximum verbosity of logging. 1=crit, 2=error, 3=warn, 4=notice, 5=info, 6=debug.
    Default: 4 (notice)

lda_thread_charge_num
    The maximum number of connections that each thread is allowed to process.
    Default: 40

lda_thread_init_num
    The minimum number of client processing threads to keep around.
    Default: 1

mail_max_length
    Maximum permitted length of a message.
    Default: 64M

running_identity
    An unprivileged user account to switch the process to after startup. To inhibit the switch, assign the empty value.
    Default: gromox

smtp_certificate_passwd
    The password to unlock TLS certificates.
    Default: (unset)

smtp_certificate_path
    A colon-separated list of TLS certificate files. The complete certificate chain should be present (as there is no other config directive to pull CA certs in, and implicit loading from system directories is not guaranteed by Gromox).
    Default: (unset)

smtp_conn_timeout
    If an SMTP connection is inactive for the given period, the connection is terminated.
    Default: 3 minutes

smtp_force_starttls
    This flag controls whether clients must utilize TLS, either by way of implicit TLS (cf. lda_listen_tls_port), or through the STARTTLS command.
    Default: false

smtp_private_key_path
    A colon-separated list of TLS certificate private key files.
    Default: (unset)

smtp_support_pipeline
    This flag controls the offering of the PIPELINING extension (RFC 2920) to clients.
    Default: true

smtp_support_starttls
    This flag controls the offering of the STARTTLS extension (RFC 3027) to clients.
    Default: false

tls_min_proto
    The lowest TLS version to offer. Possible values are: tls1.0, tls1.1, tls1.2, and, if supported by the system, tls1.3.
    Default: tls1.2

Signals
Upon receipt of SIGHUP, configuration files are re-read, but only a few select directives can be changed this way, as many parts do not implement reload.

Files

•   data_file_path/smtp_code.txt: Mapping from internal SMTP error codes to textual descriptions.

See also
gromox(7), delivery(8gx), midb_agent(4gx)