HAProxy integration has been unchanged for a long time, so this patch removes the references that it is experimental from the documentation.
148 lines
4.7 KiB
Plaintext
148 lines
4.7 KiB
Plaintext
=head1 NAME
|
|
|
|
chasquid.conf(5) -- chasquid configuration file
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
chasquid.conf(5) is chasquid(1)'s main configuration file.
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
The file is in protocol buffers' text format.
|
|
|
|
Comments start with C<#>. Empty lines are allowed. Values are of the form
|
|
C<key: value>. Values can be strings (quoted), integers, or booleans (C<true> or
|
|
C<false>).
|
|
|
|
Some values might be repeated, for example the listening addresses.
|
|
|
|
|
|
=head1 OPTIONS
|
|
|
|
=over 8
|
|
|
|
=item B<hostname> (string):
|
|
|
|
Default hostname to use when saying hello. This is used to say hello to
|
|
clients (for aesthetic purposes), and as the HELO/EHLO domain on outgoing SMTP
|
|
connections (so ideally it would resolve back to the server, but it isn't a
|
|
big deal if it doesn't). Default: the system's hostname.
|
|
|
|
=item B<max_data_size_mb> (int):
|
|
|
|
Maximum email size, in megabytes. Default: 50.
|
|
|
|
=item B<smtp_address> (repeated string):
|
|
|
|
Addresses to listen on for SMTP (usually port 25). Default: "systemd", which
|
|
means systemd passes sockets to us. systemd sockets must be named with
|
|
B<FileDescriptorName=smtp>.
|
|
|
|
=item B<submission_address> (repeated string):
|
|
|
|
Addresses to listen on for submission (usually port 587). Default: "systemd",
|
|
which means systemd passes sockets to us. systemd sockets must be named with
|
|
B<FileDescriptorName=submission>.
|
|
|
|
=item B<submission_over_tls_address> (repeated string):
|
|
|
|
Addresses to listen on for submission-over-TLS (usually port 465). Default:
|
|
"systemd", which means systemd passes sockets to us. systemd sockets must be
|
|
named with B<FileDescriptorName=submission_tls>.
|
|
|
|
=item B<monitoring_address> (string):
|
|
|
|
Address for the monitoring HTTP server. Do NOT expose this to the public
|
|
internet. Default: no monitoring server.
|
|
|
|
=item B<mail_delivery_agent_bin> (string):
|
|
|
|
Mail delivery agent (MDA, also known as LDA) to use. This should point
|
|
to the binary to use to deliver email to local users. The content of the
|
|
email will be passed via stdin. If it exits unsuccessfully, we assume
|
|
the mail was not delivered. Default: F<maildrop>.
|
|
|
|
=item B<mail_delivery_agent_args> (repeated string):
|
|
|
|
Command line arguments for the mail delivery agent. One per argument.
|
|
Some replacements will be done.
|
|
|
|
On an email sent from marsnik@mars to venera@venus:
|
|
|
|
%from% -> from address (marsnik@mars)
|
|
%from_user% -> from user (marsnik)
|
|
%from_domain% -> from domain (mars)
|
|
%to% -> to address (venera@venus)
|
|
%to_user% -> to user (venera)
|
|
%to_domain% -> to domain (venus)
|
|
|
|
Default: C<"-f", "%from%", "-d", "%to_user%"> (adequate for procmail and
|
|
maildrop).
|
|
|
|
=item B<data_dir> (string):
|
|
|
|
Directory where we store our persistent data. Default:
|
|
F</var/lib/chasquid>.
|
|
|
|
=item B<suffix_separators> (string):
|
|
|
|
Suffix separator, to perform suffix removal of local users. For
|
|
example, if you set this to C<-+>, email to local user C<user-blah> and
|
|
C<user+blah> will be delivered to C<user>. Including C<+> is strongly
|
|
encouraged, as it is assumed for email forwarding. Default: C<+>.
|
|
|
|
=item B<drop_characters> (string):
|
|
|
|
Characters to drop from the user part on local emails. For example, if
|
|
you set this to C<._>, email to local user C<u.se_r> will be delivered to
|
|
C<user>. Default: C<.>.
|
|
|
|
=item B<mail_log_path> (string):
|
|
|
|
Path where to write the mail log to. If C<< <syslog> >>, log using the
|
|
syslog (at C<MAIL|INFO> priority). If C<< <stdout> >>, log to stdout; if
|
|
C<< <stderr> >>, log to stderr. Default: C<< <syslog> >>.
|
|
|
|
=item B<dovecot_auth> (bool):
|
|
|
|
Enable dovecot authentication. If true, users that are not found in chasquid's
|
|
databases will be authenticated via dovecot. Default: C<false>.
|
|
|
|
The path to dovecot's auth sockets is autodetected, but can be manually
|
|
overridden using the C<dovecot_userdb_path> and C<dovecot_client_path> if
|
|
needed.
|
|
|
|
=item B<haproxy_incoming> (bool):
|
|
|
|
If true, expect incoming SMTP connections to use the HAProxy protocol.
|
|
This allows deploying chasquid behind a HAProxy server, as the address
|
|
information is preserved, and SPF checks can be performed properly.
|
|
Default: C<false>.
|
|
|
|
=item B<max_queue_items> (int):
|
|
|
|
B<EXPERIMENTAL>, might change in backwards-incompatible ways.
|
|
|
|
Maximum number of items in the queue.
|
|
|
|
If we have this many items in the queue, we reject new incoming email. Be
|
|
careful when increasing this, as we keep all items in memory.
|
|
Default: C<200> (but may change in the future).
|
|
|
|
=item B<give_up_send_after> (string):
|
|
|
|
B<EXPERIMENTAL>, might change in backwards-incompatible ways.
|
|
|
|
How long do we keep retrying sending an email before we give up. Once we give
|
|
up, a DSN will be sent back to the sender.
|
|
|
|
The format is a Go duration string (e.g. "48h" or "360m"; note days are not a
|
|
supported unit). Default: C<"20h"> (but may change in the future).
|
|
|
|
=back
|
|
|
|
=head1 SEE ALSO
|
|
|
|
chasquid(1)
|