Puppet Class: mailman::postfix

Defined in:
manifests/postfix.pp

Overview

Class: mailman::postfix

This is a helper class for Postfix that provides a bare minimum configuration. It is intended to help you get started quickly, but most people will probably outgrow this setup and need to configure Postfix with a different module.

Postfix is a critical part of Mailman as it enables messages to be sent and received.

If you’re seeing strange results for myhostname or mydomain, check your settings in /etc/resolv.conf, especially on RedHat systems.

Examples

include mailman::postfix

Authors

Nic Waller <code@nicwaller.com>

Copyright 2013 Nic Waller, unless otherwise noted.



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'manifests/postfix.pp', line 25

class mailman::postfix {

  if $mailman::mta != 'Postfix' {
    fail('Must set MTA=Postfix if using Postfix helper class')
  }

  # TODO FIXME ensure this is not an open relay

  class { '::postfix::server':
    inet_interfaces      => 'all',
    myhostname           => $mailman::smtp_hostname,
    mydomain             => $mailman::smtp_hostname,
    alias_maps           => "hash:${mailman::aliasfile}",

    # no other hosts are trusted to relay email through this server
    mynetworks_style     => 'host',

    # reply error 550 if list does not exist
    local_recipient_maps => "hash:${mailman::aliasfile}",
  }

  # Ensure that Postfix is installed before Mailman
  Package['postfix'] -> Package[$mailman::mm_package]

  # TODO: remove this hack once it is fixed upstream
  Package['postfix'] -> File['/etc/postfix/master.cf']
  Package['postfix'] -> File['/etc/postfix/main.cf']
}