class mail::sympa { # # Database configuration # database::instance { "$sympa_database_name": password => "$sympa_database_password", } group { 'sympa': ensure => present, } user { 'sympa': ensure => present, gid => 'sympa', require => Group['sympa'], } file { "/etc/sympa": ensure => directory, owner => postfix, group => root, mode => 0755, } file { "/etc/sympa/sympa.conf": ensure => present, owner => sympa, group => sympa, mode => 0640, content => template('mail/sympa/sympa.conf.erb'), require => [ File['/etc/sympa'], User['sympa'] ], } file { "/etc/postfix/transport_regexp": ensure => present, owner => root, group => root, mode => 0644, content => template('mail/postfix/transport_regexp.erb'), notify => Service['postfix'], } file { "/etc/postfix/virtual_regexp": ensure => present, owner => root, group => root, mode => 0644, content => template('mail/postfix/virtual_regexp.erb'), notify => Service['postfix'], } postfix::config { "sympa_destination_recipient_limit": value => '1'; "sympabounce_destination_recipient_limit": value => '1'; } mailalias { "sympa": recipient => "|/usr/lib/sympa/bin/queue sympa", notify => Exec["newaliases"], } mailalias { "sympa-request": recipient => "postmaster", notify => Exec["newaliases"], } mailalias { "sympa-owner": recipient => "postmaster", notify => Exec["newaliases"], } mailalias { "listmaster": recipient => "postmaster", notify => Exec["newaliases"], } mailalias { "postmaster": recipient => "root", notify => Exec["newaliases"], } }