Gitlab Community Edition Instance

Skip to content
Snippets Groups Projects
postfix.pp 2.07 KiB
Newer Older
Ralph Krimmel's avatar
Ralph Krimmel committed
# Mailversand konfigurieren
class ubuntu_server::postfix($root_emails,$relayhost = 'mailer.gwdg.de',$generic_maps = 'puppet:///modules/ubuntu_server/etc/postfix/generic_maps') {
Ralph Krimmel's avatar
Ralph Krimmel committed

    File{
        owner => root,
        group => root,
        mode => 0644,
    }

Ralph Krimmel's avatar
Ralph Krimmel committed
    package{['mailutils','postfix']:
        ensure => present,
    }
    if $root_emails != '' {
        file_line{'postfix_cfg_1':
            path    => '/etc/postfix/main.cf',
            line    => "relayhost = ${relayhost}",
            match   => '^relayhost',
            require => [ Package['mailutils'], Package['postfix'] ],
        } ~> Service['postfix']
    }
    file_line{'postfix_cfg_2':
        path    => '/etc/postfix/main.cf',
        line    => 'smtp_generic_maps = hash:/etc/postfix/generic_maps',
        match   => '^smtp_generic_maps',
        require => [ Package['mailutils'], Package['postfix'] ],
    } ~> Exec['generic-maps-refresh']

    if $root_emails != '' {
        file_line{'postfix_cfg_3':
            path    => '/etc/postfix/main.cf',
            line    => 'inet_interfaces = 127.0.0.1, [::1]',
            match   => '^inet_interfaces',
            require => [ Package['mailutils'], Package['postfix'] ],
        } ~> Service['postfix']
    }
    # http://www.postfix.org/ADDRESS_REWRITING_README.html#generic
    file{'/etc/postfix/generic_maps':
        ensure  => present,
        source  => $generic_maps,
        require => [ Package['mailutils'], Package['postfix'] ],
    } ~> Exec['generic-maps-refresh']

Ralph Krimmel's avatar
Ralph Krimmel committed
    service{'postfix':
        ensure  => running,
        require => Package['postfix'],
Ralph Krimmel's avatar
Ralph Krimmel committed
    }
    if $root_emails != '' {
        mailalias{'root':
            recipient => $root_emails,
            require   => Package['postfix'],
        } ~> Exec['mail-alias-refresh']
    }
    exec { 'mail-alias-refresh':
        path        => $::path,
        command     => 'newaliases',
Ralph Krimmel's avatar
Ralph Krimmel committed
        refreshonly => true,
    exec { 'generic-maps-refresh':
        path        => $::path,
        command     => 'postmap hash:/etc/postfix/generic_maps',
Ralph Krimmel's avatar
Ralph Krimmel committed
}