class mail::system { $postfix_smtp_listen = "all" $postfix_use_amavisd = "yes" $postfix_use_dovecot_lda = "yes" $postfix_use_schleuder = "yes" $postfix_use_sympa = "yes" $postfix_use_mlmmj = "yes" $postfix_use_firma = "yes" $postfix_anon_sasl = "yes" $postfix_manage_transport_regexp = "yes" $postfix_manage_virtual_regexp = "yes" $postfix_mydestination = '$myhostname, localhost.$mydomain, localhost' $postfix_default_relay_domains = '$mydestination' case $postfix_mynetworks { '': { $postfix_mynetworks = "127.0.0.0/8" } } case $sympa_subdomain { '': { $sympa_subdomain = "lists" } } # Module requirements include postfix include ssl # Common subsystems include mail::packages include mail::tls include mail::amavisd include mail::header_checks include mail::clamav include mail::spamassassin # Virtual mail system case $mail_virtual { true: { include mail::virtual } default: { include mail::regular } } # Sympa mailing list manager case $mail_sympa { true: { $sympa_relay_domains = ", ${sympa_subdomain}.${domain}" include mail::sympa } 'disabled': { include mail::sympa::disabled } default: { } } # Schleuder mailing list manager case $mail_schleuder { true: { case $schleuder_subdomain { '': { $schleuder_subdomain = "encrypted" } } $schleuder_relay_domains = ", ${schleuder_subdomain}.${domain}" include mail::schleuder } } # Mlmmj case $mail_mlmmj { true: { case $mlmmj_subdomain { '': { $mlmmj_subdomain = "mlmmj" } } $mlmmj_relay_domains = ", ${mlmmj_subdomain}.${domain}" include mail::mlmmj } } # Firma case $mail_firma { true: { case $firma_subdomain { '': { $firma_subdomain = "firma" } } $firma_relay_domains = ", ${firma_subdomain}.${domain}" include mail::firma } } case $postfix_relay_domains { '': { $postfix_relay_domains = "${postfix_default_relay_domains}${sympa_relay_domains}${schleuder_relay_domains}${mlmmj_relay_domains}${firma_relay_domains}" } } # Include base configuration include mail::base }