From e3bcf4c1f23a95ae32bfb684b624e98f96b286c3 Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Sat, 27 Jul 2013 19:46:19 +0300 Subject: [PATCH] smtpd: Initial version --- smtpd/files/mailer.conf | 5 ++++ smtpd/manifests/init.pp | 43 +++++++++++++++++++++++++++++++++ smtpd/templates/client.conf.erb | 10 ++++++++ 3 files changed, 58 insertions(+) create mode 100644 smtpd/files/mailer.conf create mode 100644 smtpd/manifests/init.pp create mode 100644 smtpd/templates/client.conf.erb diff --git a/smtpd/files/mailer.conf b/smtpd/files/mailer.conf new file mode 100644 index 0000000..4cb477c --- /dev/null +++ b/smtpd/files/mailer.conf @@ -0,0 +1,5 @@ +sendmail /usr/sbin/smtpctl +send-mail /usr/sbin/smtpctl +mailq /usr/sbin/smtpctl +makemap /usr/libexec/smtpd/makemap +newaliases /usr/libexec/smtpd/makemap diff --git a/smtpd/manifests/init.pp b/smtpd/manifests/init.pp new file mode 100644 index 0000000..bde27da --- /dev/null +++ b/smtpd/manifests/init.pp @@ -0,0 +1,43 @@ +# Configure smtpd for local delivery. +# +# === Global variables +# +# $mail_domain: +# Domain to masquerade as (envelope only). +# +# $smtpd_relay: +# URI of mail relay server. +# +class smtpd { + + file { "/etc/mailer.conf": + ensure => present, + mode => "0644", + owner => "root", + group => "wheel", + source => "puppet:///modules/smtpd/mailer.conf", + before => Service["smtpd"], + } + + file { "/etc/mail/smtpd.conf": + ensure => present, + mode => "0644", + owner => "root", + group => "wheel", + content => template("smtpd/client.conf.erb"), + notify => Service["smtpd"], + } + + service { "sendmail": + ensure => stopped, + enable => false, + before => Service["smtpd"], + } + + service { "smtpd": + ensure => running, + enable => true, + start => "/usr/sbin/smtpd", + } + +} diff --git a/smtpd/templates/client.conf.erb b/smtpd/templates/client.conf.erb new file mode 100644 index 0000000..0138f36 --- /dev/null +++ b/smtpd/templates/client.conf.erb @@ -0,0 +1,10 @@ +listen on lo0 + +<% if @smtpd_relay -%> +accept from local for any relay via <%= @smtpd_relay %><% if @mail_domain %> as "@<%= @mail_domain %>"<% end %> +<% else -%> +table aliases db:/etc/mail/aliases.db + +accept from local for local alias deliver to mbox +accept from local for any relay<% if @mail_domain %> as "@<%= @mail_domain %>"<% end %> +<% end -%>