# Mailversand konfigurieren class ubuntu_server::postfix($root_emails,$relayhost = 'mailer.gwdg.de',$generic_maps = 'puppet:///modules/ubuntu_server/etc/postfix/generic_maps') { File{ owner => root, group => root, mode => 0644, } 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'] service{'postfix': ensure => running, require => Package['postfix'], } mailalias{'root': recipient => $root_emails, require => Package['postfix'], } ~> Exec['mail-alias-refresh'] exec { 'mail-alias-refresh': path => $::path, command => 'newaliases', refreshonly => true, } exec { 'generic-maps-refresh': path => $::path, command => 'postmap hash:/etc/postfix/generic_maps', refreshonly => true, } }