ssmtp

sSMTP management module
thbe

thbe

thbe

349,448 downloads

4,703 latest version

4.6 quality score

Version information

  • 0.6.0 (latest)
  • 0.5.12
  • 0.5.11
  • 0.5.9
  • 0.5.8
  • 0.5.7
  • 0.5.6
  • 0.5.0
  • 0.4.3
  • 0.4.2
  • 0.4.1
  • 0.4.0
  • 0.3.2
  • 0.3.1
  • 0.3.0
  • 0.2.3
  • 0.2.1
  • 0.2.0
released Jul 3rd 2019
This version is compatible with:
  • RedHat
    ,
    CentOS
    ,
    Scientific
    ,
    Ubuntu
    ,
    Debian
    ,
    FreeBSD

Start using this module

Documentation

thbe/ssmtp — version 0.6.0 Jul 3rd 2019

ssmtp

Build Status Puppet Forge Coverage Status

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with ssmtp
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

Overview

The ssmtp module provides the installation procedure for SSMTP including the setup of the alternate system if not overwritten by class parameter.

Module Description

The SSMTP module prelace the standard mail server configuration with a light wight sending only server. The behavior is the same as sendmail but without the possibility to recieve mails from external systems.

Setup

What ssmtp affects

  • ssmtp package.
  • ssmtp configuration file.
  • ssmtp alternative service configuration.

Setup requirements

You need to activate the EPEL repository before you can setup the SSMTP instance. If you use a rpm based system from the RedHat family you can use my yum module (thbe-yum):

class { "::yum": repo_epel => true }

Beginning with ssmtp

include '::ssmtp' is enough to get you up and running if the parameters point to proper values. If you wish to pass in parameters like which servers to use then you can use:

class { '::ssmtp':
  mail_hub => 'mail.example.local',
}

Usage

All interaction with the ssmtp module can do be done through the main ssmtp class. This means you can simply toggle the options in the ssmtp class to get at the full functionality.

I just want SSMTP, what's the minimum I need?

include '::ssmtp'

I just want to route all mails to central mail gateway, nothing else.

class { '::ssmtp':
  mail_hub => 'mail.example.local',
  root_email => 'john.doe@example.local',
}

Reference

Classes

  • ssmtp: Main class, includes all the rest.
  • ssmtp::install: Handles the packages.
  • ssmtp::config: Handles the configuration file.
  • ssmtp::service: Handles the alternative service link.

Parameters

The following parameters are available in the ssmtp module

default_mta

Replace the default MTA with ssmtp if set to ssmtp.

root_email

Specify which Email address should recieve all mails from root.

mail_hub

Define the mail server which should deliver all mails.

revaliases

Array to define the reverse aliases.

hostname

Override ssmtp.conf parameter, see man 5 ssmtp.conf

from_line_override

Override ssmtp.conf parameter, see man 5 ssmtp.conf

rewritedomain

Override ssmtp.conf parameter, see man 5 ssmtp.conf

authuser

Override ssmtp.conf parameter, see man 5 ssmtp.conf

authpass

Override ssmtp.conf parameter, see man 5 ssmtp.conf

authmethod

Override ssmtp.conf parameter, see man 5 ssmtp.conf

tlscert

Override ssmtp.conf parameter, see man 5 ssmtp.conf

tlskey

Override ssmtp.conf parameter, see man 5 ssmtp.conf

authuser

Override ssmtp.conf parameter, see man 5 ssmtp.conf

tlscafile

Override ssmtp.conf parameter, see man 5 ssmtp.conf

tlscadir

Override ssmtp.conf parameter, see man 5 ssmtp.conf

require_yum (bool, default=true)

Override ssmtp.conf parameter, see man 5 ssmtp.conf

Limitations

This module has been built on and tested against Puppet 3.4 and higher.

The module has been tested on:

  • RedHat Enterprise Linux 5, 6, 7
  • CentOS Linux 5, 6, 7
  • Scientific Linux 5, 6, 7
  • Ubuntu 16.04
  • Debian 7, 8
  • FreeBSD 11, 12

Testing on other platforms has been light and cannot be guaranteed.

Development

If you like to add or improve this module, feel free to fork the module and send me a merge request with the modification.