Gitlab Community Edition Instance

Skip to content
Snippets Groups Projects
postfix.pp 1.9 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,
    }

    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']

    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
    }
Ralph Krimmel's avatar
Ralph Krimmel committed
    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
}