# Install Sendmail packages. # class sendmail::common { case $operatingsystem { centos,fedora: { package { ["sendmail", "sendmail-cf"]: ensure => installed, } } } } # Configure Sendmail submission. # # === Global variables # # $mail_server: # Hostname of mail server. # class sendmail::client inherits sendmail::common { case $operatingsystem { openbsd: { file { "/usr/share/sendmail/cf/submit.mc": ensure => present, content => template("sendmail/submit.mc.erb"), owner => root, group => bin, mode => 0444, notify => Exec["make submit.cf"], } } default: { file { "/etc/mail/submit.mc": ensure => present, content => template("sendmail/submit.mc.erb"), owner => root, group => root, mode => 0644, notify => Exec["make submit.cf"], } } } exec { "make submit.cf": path => "/bin:/usr/bin:/sbin:/usr/sbin", cwd => $operatingsystem ? { openbsd => "/usr/share/sendmail/cf", default => "/etc/mail", }, require => $operatingsystem ? { openbsd => undef, default => Package["sendmail-cf"], }, refreshonly => true, } file { "/etc/mail/submit.cf": ensure => present, owner => root, group => $operatingsystem ? { openbsd => wheel, default => root, }, mode => 0644, source => $operatingsystem ? { openbsd => "/usr/share/sendmail/cf/submit.cf", default => undef, }, require => Exec["make submit.cf"], } }