Newer
Older
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,
}

Benedikt Wegmann
committed
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']

Benedikt Wegmann
committed
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']

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