# Install spamassassin common components # class spamassassin::common { package { "spamassassin": ensure => present, } service { "spamassassin": ensure => running, enable => true, hasstatus => true, require => Package["spamassassin"], } } # Install spamassassin using procmail # class spamassassin::procmail { include spamassassin::common include procmail procmail::rc { "spamassassin.rc": source => "/etc/mail/spamassassin/spamassassin-spamc.rc", require => Package["spamassassin"], } } # Install spamassassin milter # # === Parameters # # $options: # Extra options for spamass-milter. # class spamassassin::milter($options="") { include spamassassin::common $sendmail_milter = [ # filter name 'spamass', # filter options 'S=unix:/var/run/spamass-milter/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m', ] package { "spamass-milter": ensure => installed, } case $::operatingsystem { "centos","redhat","fedora": { augeas { "set-spamass-milter-sysconfig": changes => "set EXTRA_FLAGS '${options}'", incl => "/etc/sysconfig/spamass-milter", lens => "Shellvars.lns", require => Package["spamass-milter"], notify => Service["spamass-milter"], } } default: { fail("spamassassin::milter not supported on ${::operatingsystem}") } } service { "spamass-milter": ensure => running, enable => true, } }