Forge Home

mailserver

This Module provides a mailserver with postfix as SMTP-Server and dovecot as IMAP Server with virtual configuration stored in a postgres database

10,883 downloads

9,684 latest version

0.9 quality score

Version information

  • 1.0.1 (latest)
  • 1.0.0
  • 0.0.5
  • 0.0.4
  • 0.0.3 (deleted)
  • 0.0.2 (deleted)
  • 0.0.1 (deleted)
released Aug 13th 2014
This version is compatible with:
  • Puppet >=2.7.20 <4.0.0
  • , Ubuntu

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'mjhas-mailserver', '1.0.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add mjhas-mailserver
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install mjhas-mailserver --version 1.0.1

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

mjhas/mailserver — version 1.0.1 Aug 13th 2014

mailserver

master branch: Build Status

This Module provides a mailserver with postfix as SMTP-Server and dovecot as IMAP Server with virtual configuration stored in a postgres database including virus scanning with clamav. Patches and Feature Requests are welcome and can be handed in at Github.

Dependencies:

  • postfix
  • dovecot
  • amavis
  • clamav
  • postgresql

Prerequisites:

You need to install augeas-lenses and libruby-augeas beforehand, otherwise the installation will just fail because most of the configuration is done using augeas.

Simplest Configuration:

class { 'mailserver':
  ssl_key_file  =>'/etc/ssl/private/ssl-cert-snakeoil.key',
  ssl_cert_file =>'/etc/ssl/certs/ssl-cert-snakeoil.pem',
  dbpassword    =>'password',
  dbuser        =>'username',
  domains       => ["$::fqdn"],
  users         => { "root@${::fqdn}" => { 

password=> 'wt3T3FHETdggQ', quota => '100000' } } }

Configuration with forwards

class { 'mailserver':
  ssl_key_file  =>'/etc/ssl/private/ssl-cert-snakeoil.key',
  ssl_cert_file =>'/etc/ssl/certs/ssl-cert-snakeoil.pem',
  dbpassword    =>'password',
  dbuser        =>'username',
  domains       => ["$::fqdn"],
  users         => { "root@${::fqdn}" => { 

password=> 'wt3T3FHETdggQ', quota => '100000' } }, forwards => { "postmaster@${::fqdn}" => { destination => "root@${::fqdn}" }, "admin@${::fqdn}" => { destination => ["root@${::fqdn}","post@${::fqdn}"] } } }

Passwords have to be encrypted beforehand, use the following: perl -e 'print crypt('password','salt')."\n"'

Contributors

kisst