Default variable details

Some of debops.nullmailer default variables have more extensive configuration than simple strings or lists, here you can find documentation and examples for them.

nullmailer__remotes

This list, as well as nullmailer__default_remotes, is used to configure where nullmailer should forward all mail messages. Each element of a list can be either a string that defines the exact line in the /etc/nullmailer/remotes configuration file, or a YAML dictionary with following parameters:

host

Required. DNS hostname of the SMTP server to which all messages will be forwarded.

protocol

Optional. Specify the daemon from /usr/lib/nullmailer/ which should be used to send the mail messages. Either smtp (default) or qmtp.

port

Optional. Specify the port to connect. If not specified, 25 will be used as default.

starttls

Optional, boolean. If not specified and nullmailer__starttls is enabled, each configured SMTP server will be asked to provide encrypted connection using STARTTLS command. If item.ssl or item.options parameters are specified, the STARTTLS support is not enabled by default.

ssl

Optional, boolean. If enabled, new connections to this SMTP server will automatically be encrypted using SSL. This usually requires a different port for communication, typically 465.

insecure

Optional, boolean. By default when encrypted connections are used, nullmailer checks the validity of the X.509 certificate provided by the server. If this parameter is enabled, the validity checks won't be performed.

x509cafile

Optional. Specify absolute path to the X.509 Certificate Authority certificate which should be used to validate the certificate of a given SMTP server. If not specified, the system-wide CA database will be used.

x509certfile

Optional. Specify absolute path to the X.509 certificate which should be presented to the remote SMTP server for authentication.

x509crlfile

Optional. Specify absolute path to the CRL file which should be used to validate the certificate provided by the remote SMTP server.

x509fmtder

Optional, boolean. If enabled, indicates that the specified certificates are in DER format (PEM otherwise).

auth or auth_login

Optional, boolean. If enabled, indicates that the specified sever requires user authentication before accepting forwarded mail messages.

user

Optional. Specify the username which should be used to login to the remote SMTP server.

pass or password

Optional. Specify the password which should be used to login to the remote SMTP server.

options

Optional. Custom list of options recognized by the nullmailer protocol modules. Check the usage information in the /usr/lib/nullmailer/* commands to see possible options, and examples below to see how they can be used.

Examples

Configure a remote SMTP server without TLS encryption:

nullmailer__remotes:
  - host: 'mx.example.org'
    starttls: False

Configure a remote SMTP server with mail messages delivered via submission protocol:

nullmailer__remotes:
  - host: 'mail.example.org'
    port: '587'
    auth: True
    user: 'username'
    pass: 'password'

Configure GMail as remote SMTP server with options specified manually:

nullmailer__remotes:
  - host: 'smtp.gmail.com'
    options: [ '--starttls', '--port=587', '--auth-login',
               '--user=username', '--pass=password' ]

nullmailer__configuration_files

This list, as well as nullmailer__private_configuration_files, manages configuration files used by the nullmailer service. Each entry in the list is a YAML dictionary with parameters:

dest

Required. Absolute path to the configuration file.

content

File contents which should be placed in the configuration file. If it results in an empty string, file will be empty. Not needed if item.src is specified.

src

Absolute path to the source file located on the Ansible Controller. Not needed if item.content is specified.

state

Optional. If not specified or present, the configuration file will be created. If absent, the configuration file will be removed.

owner

Optional. Specify an user account which should be the owner of the configuration file. The user account must already exist.

group

Optional. Specify what group the configuration file belongs to. The group must already exist.

mode

Optional. Specify the file attributes which should be set for the configuration file.

You can find the usage examples of these lists in the role defaults/main.yml file.