- hostname
- Set SMTP host and service (port).
The format is:
host.example.org[:service]
With no whitespace surrounding the colon if service is
specified. service may be a name from /etc/services or a decimal
port number. If not specified the port defaults to 587.
Note (from libESMTP documentation): the default port
number is set to 587 since this is the port that should be used for mail
submission, see RFC 2476. By choosing this default now, the API does not
change behavior unexpectedly in the future as use of the new standard
becomes commonplace. The host-port notation simplifies things for the
application, the user can type "localhost:smtp" or
"localhost:25" where the application expects a host name.
- username
- Set the username for authentication with the SMTP server.
Do NOT set the username and password in the system
configuration file unless you are the only user of this machine.
Esmtp is not run with suid privileges therefore the system
configuration file must be readable by everyone. If your SMTP server
requires authentication and you are not the only user then specify your
personal SMTP account details in the user configuration file.
- password
- Set the password for authentication with the SMTP server.
- starttls
- Whether to use the StartTLS extension.
It can be one of enabled, disabled or
required. It defaults to disabled.
- certificate_passphrase
- Set the certificate passphrase for the StartTLS extension.
- helo
- Set the hostname to identify as when sending HELO or EHLO commands. (This
is a per identity option, as it should be the name you are seen as from
the connected host, which may very with host to host due to NAT or
different naming schemes).
- qualifydomain
- Make all local addresses to remote ones by adding @ and this name.
- force sender
- Set a "Sender:" header and ignore those in the message.
"%u" will be replaced with the username. "%%" by
"%".
- force reverse_path
- Set the envelope from address. The address given to -f will only be used
as "From:" when the message contains none. "%u" will
be replaced with the username. "%%" by "%".
- message_id
- Whether to set the Message-ID field of the message before sending.
Normally the receiving MTA sets the Message-ID if missing, so you can turn
this off if your sending host does not have a fully qualified domain name.
Allowed values are either enabled or disabled.
It defaults to enabled
- preconnect
- Shell command to execute prior to opening an SMTP connection.
This may be useful in conjunction with application-level
transports (e.g. ssh with its port-forwarding functionality) to
secure the SMTP connection. Esmtp will wait for the command to
exit before proceeding. If the command returns a non-zero status,
delivery will be aborted.
- identity
- Define an identity.
An identity is a set of options associated with a given
address. For example:
identity = myself@somewhere.com
hostname = smtp.somewhere.com:25
username = "myself"
password = "secret"
Identities are be selected by the address specified in the
-f flag. You can have as many you like.
The options in the global section (up to the first
identity option) constitute the default identity. If no options
in the global section are given then the first defined identity is taken
as the default one.
Note that the default identity settings are not shared by the
other identities. Everything (username, password, etc.) must be
specified for every identity even if they don't differ from the default
identity.
- mda
- Set the Mail Delivery Agent (MDA).
Esmtp relies upon a MDA for local mail delivery, i.e.,
addresses without a '@' character. A non-zero error status tells
esmtp that delivery failed.
The local delivery addresses will be inserted into the MDA
command wherever you place a %T. The mail message's From address
will be inserted where you place an %F.
Some common MDAs are "/usr/local/bin/procmail -d
%T", "/usr/local/bin/deliver" and
"/usr/libexec/mail.local %T".
- force_mda
- Force mail to be delivered by the MDA.
When set, any mail from anywhere to anywhere will instead be
delivered to the value of force_mda. It will also only be delivered
locally, via the mda. This will let you have a very minimal mail set-up,
which can ONLY handle local mail.
For example:
mda = "procmail -d %T"
force_mda = "someuser"